#判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[1000],a1[1000],b[1000],b1[1000];
int i,j=0;
gets(a);
gets(b);
int n1=strlen(a),n2=strlen(b);
for (i=0;i<n1;i++)
{
if (a[i]>='A'&&a[i]<='Z')
a1[j++]=a[i]+32;
else if (a[i]>='a'&&a[i]<='z')
a1[j++]=a[i];
}
a1[j]='\0';
j=0;
for (i=0;i<n2;i++)
{
if (b[i]>='A'&&b[i]<='Z')
b1[j++]=b[i]+32;
else if (a[i]>='a'&&a[i]<='z')
b1[j++]=b[i];
}
b1[j]='\0';
int res;
res=strcmp(a1,b1);
if (res==0)
printf("YES");
else
printf("NO");
return 0;
}
输入A,a后输出的是NO
我的思路是假如数组中内容是字母则赋值到新数组,并进行大小写转换
有劳指点一下哪里错了