問題解決報告——ブルーブリッジ杯試験問題基礎練習文字列対比——16行コードAC


励ましはできるだけ少ないコードで効率的に表現します
準備知識:
1、アルファベットの大文字と小文字を変換→cctypeヘッダファイル関数の詳細
注意点:
1、本題は要求通りに4つのif文が次々とネストされ、必ずはっきりしていて、分かりやすくしてこそ、迅速に問題を解くことができる.3、3点目を判断する場合、#includetoupper()関数で2つの文字列のすべての文字を大文字に変換し、2つの文字列が等しいかどうかを判断すれば、この問題を簡単に解決することができる.この方法を「標準化」と呼ぶ.
コード:
#include			//     
using namespace std;
int main() {
	string s1, s2; cin >> s1 >> s2;
	if(s1.length() != s2.length()) cout << 1;
	else {
		if(s1 == s2) cout << 2;
		else {
			for(int i = 0; i < s1.length(); i++) { 
				s1[i] = toupper(s1[i]); s2[i] = toupper(s2[i]); }
			if(s1 == s2) cout << 3;
			else cout << 4;
		}
	}
	return 0;
} 

日拱一卒、功は唐に寄付しない.