1. 程式人生 > 實用技巧 >O:忽略大小寫的字串比較

O:忽略大小寫的字串比較

總時間限制:
1000ms
記憶體限制:
65536kB
描述

一般我們用strcmp可比較兩個字串的大小,比較方法為對兩個字串從前往後逐個字元相比較(按ASCII碼值大小比較),直到出現不同的字元或遇到'\0'為止。如果全部字元都相同,則認為相同;如果出現不相同的字元,則以第一個不相同的字元的比較結果為準(注意:如果某個字串遇到'\0'而另一個字串還未遇到'\0',則前者小於後者)。但在有些時候,我們比較字串的大小時,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小寫時是相等的。請寫一個程式,實現對兩個字串進行忽略字母大小寫的大小比較。

輸入
輸入為兩行,每行一個字串,共兩個字串。(每個字串長度都小於80)
輸出
如果第一個字串比第二個字串小,輸出一個字元"<";
如果第一個字串比第二個字串大,輸出一個字元">";
如果兩個字串相等,輸出一個字元"="。
樣例輸入
Hello, how are you?
hello, How are you?
樣例輸出
=
 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 int main()
 5 {
 6     string s[3];
 7     for (int i = 0; i < 2; ++i)
 8     {
 9         getline(cin, s[i]);
10 for (int j = 0; j < s[i].length(); ++j) 11 { 12 if (s[i][j] >= 'A'&&s[i][j] <= 'Z') 13 { 14 s[i][j] += 'a' - 'A'; 15 } 16 } 17 } 18 if (s[0]>s[1]) 19 { 20 cout << ">"; 21 }
22 else if (s[0] < s[1]) 23 { 24 cout << "<"; 25 } 26 else 27 { 28 cout << "="; 29 } 30 return 0; 31 }