概述
1155: 字符串比较 多实例
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 361 Solved: 155
Submit Status Web Board
Description
比较字符串大小,但比较的规则不同字典序规则。字符比较新规则如下:A < a < B < b < ………… < Z < z。
Input
输入数据包含多个测试实例,每个测试实例占两行,每一行有一个字符串(只包含大小写字母, 长度小于10000)。
Output
如果第一个字符串小于第二个,输出YES,否则,输出NO。
注意:A < a < B < b < ………… < Z < z。
Sample Input
abcBbcAbaABcefABce
Sample Output
YESYESNO
HINT
Source
一些细节要注意。比如 a与A,A与a, lena 与lenb的长度,当然对我这个程序而言……
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
char a[10000],b[10000];
int main()
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
while(scanf("%s%s",&a,&b)!=EOF)
{
int lena,lenb,i,temp;
lena=strlen(a);
lenb=strlen(b);
if(strcmp(a,b)==0)
{
cout<<"NO"<<endl;
}
else
{
if(lena>lenb)
temp=lena;
else
temp=lenb;
for(i=0;i<temp;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])
{
cout<<"YES"<<endl;
break;
}
else
{
cout<<"NO"<<endl;
break;
}
}
else if(a[i]>='a' &&a[i]<='z' &&b[i]>='A'&&b[i]<='Z')
{
if(a[i]-32<b[i])
{
cout<<"YES"<<endl;
break;
}
else
{
cout<<"NO"<<endl;
break;
}
}
else if(a[i]>='A' &&a[i]<='Z' &&b[i]>='a'&&b[i]<='z')
{
if(a[i]+32<=b[i])
{
cout<<"YES"<<endl;
break;
}
else
{
cout<<"NO"<<endl;
break;
}
}
else
{
if(a[i]<b[i])
{
cout<<"YES"<<endl;
break;
}
else
{
cout<<"NO"<<endl;
break;
}
}
}
}
}
}
return 0;
}
最后
以上就是繁荣方盒为你收集整理的字符串比较 多实例的全部内容,希望文章能够帮你解决字符串比较 多实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复