T1114 忽略大小写的字符串比较
题目描述
一般我们用strcmp
可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到'\0'
为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到'\0'
,而另一个字符串还未遇到'\0'
,则前者小于后者)。
但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hello"
和"hello"
在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。
输入格式
输入为两行,每行一个字符串,共两个字符串。(每个字符串长度都小于 80且只包含大小写字母)
输出格式
如果第一个字符串比第二个字符串小,输出一个字符"<";
如果第一个字符串比第二个字符串大,输出一个字符">";
如果两个字符串相等,输出一个字符"="。
样例输入
Hellohowareyou
helloHowareyou
样例输出
=
代码
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main(){
char s[90],c[90];
cin >> s >> c;
int slen = strlen(s);
int clen = strlen(c);
for(int i=0; i<slen; i++){
if(s[i]>='A' && s[i]<='Z')
s[i] = s[i]+32;
}
for(int i=0; i<clen; i++){
if(c[i]>='A' && c[i]<='Z')
c[i] = c[i]+32;
}
int flag = strcmp(s,c);
if (flag == 0) cout << "=" << endl;
else if (flag > 0) cout << ">" << endl;
else cout << "<" << endl;
return 0;
}