問題描述
給定兩個僅由大寫字母或小寫字母組成的字元串(長度介于1到10之間),它們之間的關系是以下4中情況之一:
1:兩個字元串長度不等。比如 Beijing 和 Hebei
2:兩個字元串不僅長度相等,而且相應位置上的字元完全一緻(區分大小寫),比如 Beijing 和 Beijing
3:兩個字元串長度相等,相應位置上的字元僅在不區分大小寫的前提下才能達到完全一緻(也就是說,它并不滿足情況2)。比如 beijing 和 BEIjing
4:兩個字元串長度相等,但是即使是不區分大小寫也不能使這兩個字元串一緻。比如 Beijing 和 Nanjing
程式設計判斷輸入的兩個字元串之間的關系屬于這四類中的哪一類,給出所屬的類的編号。
輸入格式
包括兩行,每行都是一個字元串
輸出格式
僅有一個數字,表明這兩個字元串的關系編号
樣例輸入
BEIjing
beiJing
樣例輸出
3
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a,b;
cin>>a;
cin>>b;
int t;
int cmp=2;//假設兩個字元串相等
if(a.length()!=b.length())
{
cmp=1;//長度不相等,第一種情況
} else{
for(int i=0;i<a.length();i++){
if(a[i]==b[i]||a[i]+32==b[i]||b[i]+32==a[i]){//三種條件:相等或相差32
if(a[i]!=b[i]){//在剛才的條件下,不相等,那就是相差32
cmp=3;
}
}
else{
cmp=4;
break;
}
}
}
cout<<cmp<<endl;
return 0;
}