B.字符串判等 | |||||
| |||||
Description | |||||
给定两个由大小写字母和空格组成的字符串 s1和 s2。判断压缩掉空格、并忽略大小写后,这两个字符串是否相等。 | |||||
Input | |||||
多组测试数据,处理到文件结束。 每组数据包含两个字符串s1,s2,长度大于1,小于等于100. | |||||
Output | |||||
如果两个字符串相等,输出yes;否则输出no | |||||
Sample Input | |||||
God like
gOdl iKE
legendary
le gandaRY
| |||||
Sample Output | |||||
yes
no
| |||||
Hint | |||||
水题一枚
我的思路是:把无论大写还是小写都转化成数字
看杭电思路
先删去空格,然后统一大小写(统一成大写还是小写随你)
最后再是字符串比较strcmp
所以有必要学习一下strcmp
# include <stdio.h>
# include <string.h>
int main ()
{
char s1[105],s2[105];
while(gets(s1))
{
gets(s2);
int l1=0,l2=0,i;
for(i=0; s1[i]; i++)
{
if(s1[i]!=‘ ‘)
{
if(s1[i]>=‘A‘&&s1[i]<=‘Z‘) s1[l1++]=s1[i]+32;
else s1[l1++]=s1[i];
}
}
s1[l1]=‘\0‘;
for(i=0; s2[i]; i++)
{
if(s2[i]!=‘ ‘)
{
if(s2[i]>=‘A‘&&s2[i]<=‘Z‘) s2[l2++]=s2[i]+32;
else s2[l2++]=s2[i];
}
}
s2[l2]=‘\0‘;
if(strcmp(s1,s2)==0) printf("yes\n");
else printf("no\n");
}
}
代码中黄色部分是值得注意的