16:忽略大小寫的字串比較
- 總時間限制:
- 1000ms
- 記憶體限制:
- 65536kB
- 描述
-
一般我們用strcmp可比較兩個字串的大小,比較方法為對兩個字串從前往後逐個字元相比較(按ASCII碼值大小比較),直到出現不同的字元或遇到'\0'為止。如果全部字元都相同,則認為相同;如果出現不相同的字元,則以第一個不相同的字元的比較結果為準(注意:如果某個字串遇到'\0'而另一個字串還未遇到'\0',則前者小於後者)。但在有些時候,我們比較字串的大小時,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小寫時是相等的。請寫一個程式,實現對兩個字串進行忽略字母大小寫的大小比較。
- 輸入
- 輸入為兩行,每行一個字串,共兩個字串。(每個字串長度都小於80)
- 輸出
- 如果第一個字串比第二個字串小,輸出一個字元"<";
如果第一個字串比第二個字串大,輸出一個字元">";
如果兩個字串相等,輸出一個字元"="。 - 樣例輸入
-
Hello, how are you? hello, How are you?
- 樣例輸出
-
=
- 來源
- 計算概論05
-
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { char a[81],b[81],c[81]; int d=0,e=0; gets(a); gets(b); for (int i=0;i<=strlen(a);++i) { if (a[i]<='Z'&&a[i]>='A') { a[i]=a[i]; } if (a[i]<='z'&&a[i]>='a') { a[i]=a[i]-32; } } for (int i=0;i<=strlen(b);++i) { if (b[i]<='Z'&&b[i]>='A') { b[i]=b[i]; } if (b[i]<='z'&&b[i]>='a') { b[i]=b[i]-32; } } for (int i=0;i<=strlen(a);++i) { if (a[i]==b[d]) { e=1; } else if (a[i]>b[d]) { e=0; cout<<">"; break; } else if (a[i]<b[d]) { e=0; cout<<"<"; break; } d++; } if (e==1) cout<<"="; return 0; }