题目描述
一般我们用 strcmp
可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到 \0 为止。
如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准;如果两字符串长度不同,但所有相同位置的字符均相同,则认为较长字符串更大。
在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如 Hello 和 hello 在忽略字母大小写时是相等的。
请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较
样例
输入样例1:
Hello
hello
输出样例1:
=
输入样例2:
How are you
How old are you
输出样例2:
<
算法1
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s1,s2;
getline(cin,s1);
getline(cin,s2);
for (int i = 0; i < s1.size(); i ++)
if (s1[i] >= 'A' && s1[i] <= 'Z') s1[i] += 32;
for (int i = 0; i < s2.size(); i ++)
if (s2[i] >= 'A' && s2[i] <= 'Z') s2[i] += 32;
int c;
c = strcmp(s1.c_str(),s2.c_str());
if(c < 0) cout << "<";
if(c == 0) cout << "=";
if(c > 0) cout << ">";
return 0;
}