给定两个字符串,判定其是否相等。字符串相等的意义基于类似于strcmp函数,除了比较时忽略大小写,例如”999abc”和”999ABC”是相等的字符串。
输入
一行输入,包括由空格分开的两个字符串,字符串本身不含空格,字符串长度均不超过100
输出
如果字符串相等,输出一行”EQUAL”,否则输出一行”NOT EQUAL”
样例输入 复制
999abc 999ABC
样例输出 复制
EQUAL
#include<stdio.h>
#include<string.h>
int main(void)
{
char s1[100];
char s2[100];
scanf("%s",s1);
scanf("%s",s2);
int i=0;
int len1=strlen(s1);
int len2=strlen(s2);
int flag=1;
if(len1!=len2)
{
flag=0;
}
while(s1[i]!='\0'&&s2[i]!='\0')
{
if(s1[i]>96&&s1[i]<123)
{
if(s2[i]!=s1[i]-32&&s2[i]!=s1[i])
{
flag=0;
}
}else if(s1[i]>64&&s1[i]<91)
{
if(s2[i]!=s1[i]&&s2[i]!=s1[i]+32)
{
flag=0;
}
}else{
if(s1[i]!=s2[i])
{
flag=0;
}
}
i++;
}
if(flag==1)
{
printf("EQUAL");
}else{
printf("NOT EQUAL");
}
}
尤其要注意1230bc和123Pbc的情况
像下面这样写就不行
#include<stdio.h>
#include<string.h>
int main(void)
{
char s1[110];
char s2[110];
scanf("%s",s1);
scanf("%s",s2);
int i=0;
int len1=strlen(s1);
int len2=strlen(s2);
int flag=1;
if(len1!=len2)
{
flag=0;
}
while(s1[i]!='\0'&&s2[i]!='\0')
{
if(s1[i]!=s2[i]&&s1[i]!=s2[i]-32&&s2[i]!=s1[i]-32)
{
flag=0;
}
i++;
}
if(flag==1)
{
printf("EQUAL");
}else{
printf("NOT EQUAL");
}
}