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;
}