带注释 一看就懂
2024-06-25 17:35:13
发布于:湖北
35阅读
0回复
0点赞
①定义变量
准备 四个 字符串:两个用来存输入的内容 (s1,s2), 两个用来存去掉大小写和空格后的内容(ss1,ss2)
②接收输入内容
因为输入内容有空格所以使用getline接收
③去除空格和大小写
循环遍历字符串s1
每一轮循环都判断当前选中的字符是否为大写字母,是:将其转换为小写,否:不管
随后进行第二个 if 判断,如果当前为小写字母存入ss1中
注:每一次循环中的两个判断互不影响都是if,第一个判断完只要是字母就已经是小写状态
字符串s2重复上述步骤
④比较,输出
此时的ss1与ss2中是两个只有小写字母的字符串,将两者进行比较,输出结果
#include<bits/stdc++.h>
using namespace std;
int main(){
string s1,s2,ss1,ss2;
getline(cin,s1); //输入有空格
getline(cin,s2);
for(int i=0 ; i<s1.size() ; i++){
if(s1[i]<='Z' && s1[i]>='A'){ //如果是大写字母
s1[i]+=32; //+32转换为对应的小写字母
}
//当上面的if结束s[i]要么是小写字母要么不是字母
if(s1[i]<='z' && s1[i]>='a'){ //如果是小写字母
ss1+=s1[i]; //存入ss1
}
}
for(int i=0 ; i<s2.size() ; i++){
if(s2[i]<='Z' && s2[i]>='A'){
s2[i]+=32;
}
if(s2[i]<='z' && s2[i]>='a'){
ss2+=s2[i];
}
}
if(ss2==ss1){
cout << "YES";
}else{
cout << "NO";
}
return 0;
}
这里空空如也
有帮助,赞一个