问题描述:
比较字符串大小,但比较的规则不同字典序规则。字符比较新规则如下:A < a < B < b < ………… < Z < z。
输入:
输入数据包含多个测试实例,每个测试实例占两行,每一行有一个字符串(只包含大小写字母, 长度小于10000)。
输出:
如果第一个字符串小于第二个,输出YES,否则,输出NO。
注意:A < a < B < b < ………… < Z < z。
样例输入:
abc
Bbc
Ab
a
ABcef
ABce
样例输出:
YES
YES
NO
参考代码:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
int n,len1,len2,c;
char a[10001],b[10001];
while(scanf("%s%s",a,b)!=EOF)
{
len1=strlen(a);
len2=strlen(b);
for(int i=0;i<len1;i++) {
if (islower(a[i]))
a[i] = (a[i] - 'a') * 2 + 1;
else
a[i] = (a[i] - 'A') * 2;
}
for(int j=0;j<len2;j++){
if(islower(b[j]))
b[j]=(b[j]-'a')*2+1;
else
b[j]=(b[j]-'A')*2;
}
c=strcmp(a,b);
if(c<0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}