问题标题: 酷町堂:5581

0
0
已解决
武建豪
武建豪
中级天翼
中级天翼

经验值:400

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

给定一行英语句子,请你统计其中包含的元音字母(包括大写和小写)的个数,并输出。元音字母指: a, e, i, o, u.

输入描述 Input Description

一行,为给定的英语句子。

输出描述 Output Description

一行,一个整数,表示句子中包含的元音字母的个数。

样例输入 Sample Input

Don’t give up and don't give in.

样例输出 Sample Output

9

数据范围及提示 Data Size & Hint

说明:
这句话一共包含9个元音字母。
数据范围:
1个字符<=句子的长度<=3000个字符

思路或者部分代码

武建豪在2020-11-06 22:18:00追加了内容

啊啊啊人呢

武建豪在2020-11-06 22:36:41追加了内容

@沙宸安 

#include<iostream>

#include<string>

using namespace std;

int main()

{

    int a=0,b=0;

string s;

getline(cin,s);

for(int i=0;i<s.size();i++){

if(s[i]>='A'&&s[i]<='Z'){

a++;

}

else if(s[i]>='a'&&s[i]<='z'){

b++;

}

}

cout<<a<<" "<<b;

return 0;

}

0分


0
已采纳
丁博扬
丁博扬
中级天翼
中级天翼
  • 循环(int i=0;i<s.size();i++){
  • 如果(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u')
  • 计数器++;
  • 否则 如果(s[i]=='A'||s[i]=='E'||s[i]=='I'||s[i]=='O'||s[i]=='U')
  • 计数器++;
  • }
  • 他没让你分别输出大写字母的个数和小写字母的个数
  • 他让你输出大小写字母一共有多少元音字母
  • 望采纳
丁博扬在2020-11-07 07:46:33追加了内容

只需要一个计数器就行了

丁博扬在2020-11-07 07:48:42追加了内容

输入要用getline

丁博扬在2020-11-07 07:50:33追加了内容

他让你判断是不是元音字母

元音字母

丁博扬在2020-11-07 07:51:37追加了内容

把你for循环里的改为我的

然后直接输出计数器就行了

不需要输出b

丁博扬在2020-11-07 12:39:37追加了内容

把if(s[i]>='A'&&s[i]<='Z') 改为 if(s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u')

把else if(s[i]>='a'&&s[i]<='z') 改为 else if(s[i]=='A'||s[i]=='E'||s[i]=='I'||s[i]=='O'||s[i]=='U')

把b=0 删掉

把b++ 改为 a++

把cout<<a<<" "<<b 改为 cout<<a;

0
沙宸安
沙宸安
高级启示者
高级启示者

这个主意就是考字符串输入,要用cin.get(),cin>>是不行的

我要回答