字符串相等 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的主要内容,如果未能解决你的问题,请参考以下文章