0
已解决
2716 大写字母的个数经验值:0
题目描述 Description
输入两行字符串,由大写字母、小写字母和空格组成,请你分别统计两个字符串中的大写字母的个数,并输出。
输入描述 Input Description
两行:每行一个字符串,每个字符串的长度不超过50
输出描述 Output Description
两行:每行一个整数,分别表示两个字符串中的大写字母的个数。
样例输入 Sample Input
uT YB
样例输出 Sample Output
1 2
错误代码0分:
#include<iostream>
#include<string>
using namespace std;
int main(){
string a,b;
int cnt1=0,cnt2=0;
cin>>a>>b;
for(int i=0;i<=a.size()-1;i++){
if(a[i]>='A'&&a[i]<='Z'){
cnt1++;
}
if(b[i]>='A'&&b[i]<='Z'){
cnt2++;
}
}
cout<<cnt1<<endl<<cnt2;
return 0;
}
请大佬找错
0
0
0
首先,我先引用一下你的代码
#include<iostream>
#include<string>
using namespace std;
int main(){
string a,b;
int cnt1=0,cnt2=0;
cin>>a>>b;
for(int i=0;i<=a.size()-1;i++){
if(a[i]>='A'&&a[i]<='Z'){
cnt1++;
}
if(b[i]>='A'&&b[i]<='Z'){
cnt2++;
}
}
cout<<cnt1<<endl<<cnt2;
return 0;
}
在这段代码中,显然你两个if判断里缺少空格
而且,一个非常重要的问题是,a串和b串的长度显然不一样
这道题你需要分别使用两个for循环,每个循环单独控制cnt变量
这样,不会因为两个字符串长度不同而拿不到分
0
0