题の解(附带代码の解析,保证一看就懂)
2024-07-29 15:59:14
发布于:上海
48阅读
0回复
0点赞
这道题是一道很典型的字符串题
首先是头文件,因为是string题,所以要写上string 头文件
#include<string>
#include<cstring>
#include<string.h>
//任选一种即可
首先,我们要解决输入,在这道题中输入是包含空格的,所以要使用getline函数(getline函数头文件为string)
#include<string>
#include<cstring>
#include<string.h>
//任选一种即可
string str1,str2;
/*---------------------*/
getline(cin,str1);
getline(cin,str2);
然后就是如何忽略大小写以及空格判等
我的思路是用另一个字符串来存非空字符以及统一字母大小写
所以接下来就是核心代码
#include<cstring>
string a,a1;
/*---------------------*/
getline(cin,a);
for(int i=0;i<a.size();i++){
if(a[i]!=' '){//判断非空
if(a[i]>='A'&&a[i]<='Z'){
a[i]+=32;
}
a1+=a[i];
}
}//大写改小写
for(int i=0;i<a.size();i++){
if(a[i]!=' '){//判断非空
if(a[i]>='a'&&a[i]<='z'){
a[i]+-=32;
}
a1+=a[i];
}
}//小写改大写
完整代码如下
#include<iostream>
using namespace std;
string a,b,a1,b1;
int main(){
getline(cin,a);
getline(cin,b);
for(int i=0;i<a.size();i++){
if(a[i]!=' '){
if(a[i]>='A'&&a[i]<='Z'){
a[i]+=32;
}
a1+=a[i];
}
}
for(int i=0;i<b.size();i++){
if(b[i]!=' '){
if(b[i]>='A'&&b[i]<='Z'){
b[i]+=32;
}
b1+=b[i];
}
}
if(a1==b1) cout<<"YES";
else cout<<"NO";
}
求求点个赞吧!真的很需要!
有帮助,赞一个