問題描述
給定兩個僅由大寫字母或小寫字母組成的字符串(長度介於1到10之間),它們之間的關係是以下4中情況之一:
1:兩個字符串長度不等。比如 Beijing 和 Hebei
2:兩個字符串不僅長度相等,而且相應位置上的字符完全一致(區分大小寫),比如 Beijing 和 Beijing
3:兩個字符串長度相等,相應位置上的字符僅在不區分大小寫的前提下才能達到完全一致(也就是說,它並不滿足情況2)。比如 beijing 和 BEIjing
4:兩個字符串長度相等,但是即使是不區分大小寫也不能使這兩個字符串一致。比如 Beijing 和 Nanjing
編程判斷輸入的兩個字符串之間的關係屬於這四類中的哪一類,給出所屬的類的編號。
輸入格式
包括兩行,每行都是一個字符串
輸出格式
僅有一個數字,表明這兩個字符串的關係編號
提交代碼
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1,str2;;
getline(cin,str1);
getline(cin,str2); //長度介於1到10之間
if(str1.size()!=str2.size())//也可用str1.legth()
cout<<1<<endl;
else
{
if(str1==str2) //如果字符串相同
cout<<2<<endl;
else
{
for(int i=0; i<str1.size(); i++)
{
//判斷若爲大寫,則轉換爲小寫
if(str1[i]>='A'&&str1[i]<='Z')
str1[i]+=32;
if(str2[i]>='A'&&str2[i]<='Z')
str2[i]+=32;
}
if(str1==str2) //均轉換爲小寫後,若相同 ,則輸出3,否則輸出4
cout<<3<<endl;
else
cout<<4<<endl;
}
}
return 0;
}