C++如何按单词读取输入并统计各汽车颜色的输入数量
完整可运行实现代码
#include <iostream> #include <string> using namespace std; int main() { string input_color; int cnt_black = 0, cnt_red = 0, cnt_white = 0; char continue_flag; do { cout << "input car color: "; cin >> input_color; if (input_color == "black") { cnt_black++; } else if (input_color == "red") { cnt_red++; } else if (input_color == "white") { cnt_white++; } cout << "continue input car color? (y/n)? "; cin >> continue_flag; } while (continue_flag == 'y' || continue_flag == 'Y'); cout << endl << "detail car color" << endl; cout << "black " << cnt_black << " car" << endl; cout << "red " << cnt_red << " car" << endl; cout << "white " << cnt_white << " car" << endl; return 0; }
核心修改说明
- 补全了
<string>头文件,C++使用string类型必须引入该头文件,否则部分编译器会报错 - 修正了计数器初始化逻辑:原代码
int e, f, g = 0只有变量g初始值为0,其余两个变量初始值为内存随机值,会导致统计结果错误,修改后所有计数器初始值均为0 - 新增
do-while循环实现多次输入逻辑,每次输入完成后询问用户是否继续,输入y/Y则进入下一轮输入,否则退出循环 - 新增计数逻辑:每次输入的颜色匹配成功后,对应计数器自动+1
- 新增统计输出模块:循环退出后按照需求格式输出三种颜色的统计数量
内容的提问来源于stack exchange,提问作者user16787623
相关产品推荐
相关产品推荐

