T1115 字符串判等
判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。
输入格式
两行,每行包含一个字符串;字符串长度不超过 100。
输出格式
若两个字符串相等,输出"YES"
,否则输出"NO"
。
输出时每行末尾的多余空格,不影响答案正确性
样例输入
a A bb BB ccc CCC
Aa BBbb CCCccc
样例输出
YES
解题思路: 见代码
#include<stdio.h>
#include<string.h>
int i,j;
char X[101],Y[101];
void Remodel(char X[]){//将字符串处理为没有空格
for (i=0;i<101;i++)
if (X[i]==32){
Clear_space(X,i);
i=0;
}
}
void Clear_space(char X[],int i){//将空格的一项覆盖
for (j=i;j<101;j++)
X[j]=X[j+1];
}
void lowerchar(char X[]){//将字符串变成小写字母
for (i=0;i<strlen(X);i++)
X[i]+=(X[i]<=90&&X[i]>=65)?32:0;
}
int main()
{
gets(X);
gets(Y);
Remodel(X);
Remodel(Y);
lowerchar(X);
lowerchar(Y);
(strcmp(X,Y)==0)?printf("YES"):printf("NO");
return 0;
}
注意:
代码提交成功。如果你有更好的方法,可以一起讨论下。如果哪里有错误,欢迎指出。