天天看點

C++版本 17:字元串判等

17:字元串判等

描述

判斷兩個由大小寫字母和空格組成的字元串在忽略大小寫,且忽略空格後是否相等。

輸入

兩行,每行包含一個字元串。
           

輸出

若兩個字元串相等,輸出YES,否則輸出NO。
           

樣例輸入

a A bb BB ccc CCC
Aa BBbb CCCccc
           

樣例輸出

YES
           

解題思路:先将輸入的字元串全部轉換為小寫(大寫),然後累加ASCILL碼,來比較是否一樣,具體代碼如下:

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<string.h>
using namespace std;
int main(){
	string s1, s2;
	int i;
	getline(cin, s1);
	getline(cin, s2);
	for(int i = 0; i < s1.length(); i++){
		if(isupper(s1[i])){
			s1[i] += 32;
		}
	} 
	for(int i = 0; i < s2.length(); i++){
		if(isupper(s2[i])){
			s2[i] += 32;
		}
	} 
	int ans1 = 0, ans2 = 0;
	for(i = 0; i < s1.length(); i++){
		if(s1[i] != ' '){
			ans1 += int(s1[i]);
		}
	}
	for(i = 0; i < s2.length(); i++){
		if(s2[i] != ' '){
			ans2 += int(s2[i]);
		}
	}
	if(ans1 == ans2){
		cout << "YES";
	} else{
		cout << "NO";
	}
	return 0;
} 

           

繼續閱讀