112A题目网址
题目解析
1.输入两行字符串,不区分大小写地使用字典序去比较大小
A<B -1
A>B 1
A=B 0
举例:
输入
abcdefg
AbCdEfF
输出
1
2.字典序:在遇到第一个不同的字符时,比较的大小,就是字符串的大小
列举法:
1.列出所有情况
1)a[i]是大写,b[i]是小写
a[i]转换为小写(a[i]=a[i]+32)
再比较
a[i]>b[i] break
a[i]<b[i] break
a[i]=b[i]
2)a[i]是小写,b[i]是大写
3)a[i]是小写,b[i]是小写
4)a[i]是大写,b[i]是大写
列举法代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{char a[100]={'\0'};char b[100]={'\0'};int i,flag=0;scanf("%s",a);scanf("%s",b);for(i=0;i<strlen(a);i++){if(a[i]>='A'&&a[i]<='Z'&&b[i]>='a'&&b[i]<='z'){a[i]=a[i]+32;if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}else if(b[i]>='A'&&b[i]<='Z'&&a[i]>='a'&&a[i]<='z'){b[i]=b[i]+32;if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}else if(a[i]>='A'&&a[i]<='Z'&&b[i]>='A'&&b[i]<='Z'){if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}else if(a[i]>='a'&&a[i]<='z'&&b[i]>='a'&&b[i]<='z'){if(a[i]<b[i]){flag=-1;break;}else if(a[i]>b[i]){flag=1;break;}else if(a[i]==b[i]){flag=0;}}}printf("%d",flag);system("pause");return 0;
}