1155: 字符串比较 多实例
题目描述
比较字符串大小,但比较的规则不同字典序规则。字符比较新规则如下:A < a < B < b < ………… < Z < z。
输入
输入数据包含多个测试实例,每个测试实例占两行,每一行有一个字符串(只包含大小写字母, 长度小于10000)。
输出
如果第一个字符串小于第二个,输出YES,否则,输出NO。
注意:A < a < B < b < ………… < Z < z。
样例输入a
bc
Bbc
Ab
a
ABcef
ABce
样例输出
YES
YES
NO
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
int m,n,i,max;
char a[10000]={0},b[10000]={0};
while(scanf("%s%s",a,b)!=EOF)
{
m=strlen(a);
n=strlen(b);
if(strcmp(a,b)==0)
printf("NO\n");
else
{
max=m>n?m:n;
for(i=0;i<max;i++){
if(a[i]==b[i])
continue;
else
{
if((a[i]>='a'&&a[i]<='z'&&b[i]>='a'&&b[i]<='z')||(a[i]>='A'&&a[i]<='Z'&&b[i]>='A'&&b[i]<='Z'))
{
if(a[i]<b[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
else if(a[i]>='a'&&a[i]<='z'&&b[i]>='A'&&b[i]<='Z')
{
if(a[i]-32<b[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
else if(a[i]>='A'&&a[i]<='Z'&&b[i]>='a'&&b[i]<='z')
{
if(a[i]+32<=b[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
else
{
if(a[i]<b[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
}
}
}
}
return 0;
}