先看题目:
append.c 如下:
int main()
{
char str1[MAX_STR_LEN], str2[MAX_STR_LEN];
while( (gets(str1) != NULL) && (gets(str2) != NULL) )
printf("%d\n", str_cmp(str1, str2));
return 0;
}
AC代码及注释:
#include<stdio.h>
#define MAX_STR_LEN 110
int str_cmp(char s1[], char s2[])
{
int flag;
for (int i=0; s1[i]!='\0'||s2[i]!='\0'; i++)
{
char a=s2[i]+32,b=s2[i]-32,c=s1[i]+32,d=s1[i]-32; //通过ASCII码值转换大小写
if (s1[i]==s2[i]||s1[i]==a||s1[i]==b||c==s2[i]||d==s2[i]) //不区分大小写比较每个字符
flag=0;
else if (s1[i]>s2[i])
{
flag=s1[i]-s2[i];
return flag;
}
else if (s1[i]<s2[i])
{
flag=s1[i]-s2[i];
return flag;
}
}
return 0;
}
如果有不同的意见或有需要改进的地方欢迎大家在评论区提出。
继续加油!!!