字符串相等 impossible 1480

Posted zq-dmhy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串相等 impossible 1480相关的知识,希望对你有一定的参考价值。

题目描述

两个长度不超过80的字符串,串中包括大写、小写和空格字符,去掉空格并忽略大小写后,判断两个字符串是否相等。

输入描述

第1行输入是测试数据的组数n,每组测试数据占两行,第1行是第一个字符串s1,第2行是第二个字符串s2

输出描述

如果两个字符串相等,则输出YES,否则输出NO

样例输入

2
a A bb BB ccc CCC
Aa BBbb CCCccc
a      dfadf     fasdf
adasddfsfsaf

样例输出

YES

NO

思想:

注意cin对空格的要求,需要getchar() 或者直接用getline()

注意字符串用数组表示时末尾的   ‘\0‘

字符串函数strcmp(),相等的时候输出0

 1 #include<iostream>
 2 #include<string.h>
 3 #include<string>
 4 using namespace std;
 5 int main()
 6     int n,i;
 7     cin>>n;
 8     getchar();
 9     for(i=0;i<n;i++)
10         int l1,l2,j,k;
11         char a[2][80],b[2][80],p[80];
12         for(j=0;j<2;j++)
13             gets(p);
14             strcpy(a[j],p);
15         
16         l1=strlen(a[0]);
17         l2=strlen(a[1]);
18         k=0;
19         for(j=0;j<l1;j++)
20             if(a[0][j]>=A&&a[0][j]<=Z)
21                 a[0][j]=a[0][j]+32;
22             
23         
24         for(j=0;j<l2;j++)
25             if(a[1][j]>=A&&a[1][j]<=Z)
26                 a[1][j]=a[1][j]+32;
27             
28         
29           for(j=0;j<l1;j++)
30             if(a[0][j]!= )
31                 b[0][k++]=a[0][j];
32             
33         
34           b[0][k]=\0;
35         k=0;
36           for(j=0;j<l2;j++)
37             if(a[1][j]!= )
38                 b[1][k++]=a[1][j];
39             
40         
41           b[1][k]=\0;
42           if(strcmp(b[0],b[1])==0)
43               printf("YES\n");
44         else
45             printf("NO\n");
46             
47     
48     return 0;
49 

 

以上是关于字符串相等 impossible 1480的主要内容,如果未能解决你的问题,请参考以下文章

[JavaScript 刷题] 数组 - 一维数组的动态和, leetcode 1480

LeetCode1480. 一维数组的动态和(C++)

洛谷 P1480 A/B Problem

洛谷——P1480 A/B Problem

文巾解题 1480. 一维数组的动态和

哈希 poj 1480