Description
比较字符串大小,但比较的规则不同字典序规则。字符比较新规则如下:A < a < B < b < ………… < Z < z。
Input
输入数据包含多个测试实例,每个测试实例占两行,每一行有一个字符串(只包含大小写字母, 长度小于10000)。
Output
如果第一个字符串小于第二个,输出YES,否则,输出NO。
注意:A < a < B < b < ………… < Z < z。
Sample Input
abc
Bbc
Ab
a
ABcef
ABce
Sample Output
YES
YES
NO
HINT
Source
笨蛋人的笨蛋方法
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char str1[10005],str2[10005];
int i,len1,len2,len;
memset(str1,0,sizeof(str1));
memset(str2,0,sizeof(str2));
while(scanf("%s%s",str1,str2)!=EOF)
{
len1=strlen(str1);
len2=strlen(str2);
if(strcmp(str1,str2)==0)
printf("NO\n");
else
{
len=(len1>len2)?len1:len2;
for(i=0; i<len; i++)
{
if(str1[i]==str2[i])
continue;
else if(str1[i]>='a'&&str1[i]<='z'&&str2[i]>='a'&&str2[i]<='z')
{
if(str1[i]<str2[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
else if(str1[i]>='A'&&str1[i]<='Z'&&str2[i]>='A'&&str2[i]<='Z')
{
if(str1[i]<str2[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
else if(str1[i]>='a'&&str1[i]<='z'&&str2[i]>='A'&&str2[i]<='Z')
{
if(str1[i]-32<str2[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
else if(str1[i]>='A'&&str1[i]<='Z'&&str2[i]>='a'&&str2[i]<='z')
{
if(str1[i]+32<=str2[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
else
{
if(str1[i]<str2[i])
{
printf("YES\n");
break;
}
else
{
printf("NO\n");
break;
}
}
}
}
}
return 0;
}