基礎訓練:字符串對比

問題描述

給定兩個僅由大寫字母或小寫字母組成的字符串(長度介於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;
} 

測試結果

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章