You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++统计多字符串元音数代码修改:逐行输出各字符串元音数而非总和

C++逐行统计输入字符串元音数量 修复方案

原代码问题

  • 缺失必要头文件:#include后未引入<string>,无法正常使用std::string类
  • 计数变量作用域错误:元音计数变量vowels定义在循环外部,会累计所有输入字符串的元音总数,无法单独统计单个字符串的元音数
  • 循环逻辑顺序错误:do-while结构会先执行循环体、再执行cin >> name读入输入,导致第一次循环处理的是空字符串,第一个有效输入会延迟到下一轮才处理
  • 输出位置错误:打印语句放在循环结束后,只会输出累计的总元音数,不会逐行输出每个字符串的统计结果
  • 存在冗余无效代码:count变量无实际使用场景,对应的累加逻辑也无意义,可直接删除

修正后代码

#include <iostream>
#include <string>
using namespace std;

int main(){
    string name;
    // 每次读入字符串先判断是否为终止词end
    while(cin >> name && name != "end") {
        // 每个字符串单独统计,每次初始化计数为0
        int vowels = 0;
        for(int i = 0; i < name.length(); ++i) {
            if(name[i]=='a' || name[i]=='A' 
            || name[i]=='e' || name[i]=='E' 
            || name[i]=='i' || name[i]=='I' 
            || name[i]=='o' || name[i]=='O' 
            || name[i]=='u' || name[i]=='U') {
                vowels++;
            }
        }
        // 统计完当前字符串直接输出结果
        cout << vowels << endl;
    }
    return 0;
}

运行效果

输入示例:

love
run
test
tryy
end

输出结果:

2
1
1
0

完全匹配需求。

内容的提问来源于stack exchange,提问作者Kholofelo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 16:45:03