2022届计算机学院学生会主席选举:C++代码实现投票统计
2022届计算机学院学生会主席选举:C++代码实现投票统计
计算机学院2022届学生会主席投票选举将于5月6日在教学楼的甲举行。本次投票将采用电脑统计选票的方式,同学们将排队一一到电脑前,投自己心仪的一票:在电脑前输入一个姓名,然后输入回车表示确认。
当所有同学投票结束,工作人员只需输入一个'#'回车确认,表示投票结束,电脑立即显示得票最多的同学姓名,该同学将当选为新一届计算机与通信工程学院学生会主席。假定输入的姓名均为主。
选举委员会的准备工作正在紧张进行,编程统计投票的代码就交给你了!
本题为单实例测试。输入包含多行,每行是一个由中文字符和英文字符组成的字符串,表示一个姓名,遇到 '#' 表示输入结束。
你可以假定,参加投票的学生人数不超过100人,每个学生姓名字符长度不超过20。
输出为一个字符串,表示当选学生会主席的学生姓名。
C++代码实现
由于本题是单实例测试,因此直接给出C++代码如下:
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main() {
map<string, int> votes; // 使用map记录每个姓名的得票数
string name;
while (getline(cin, name)) { // 循环读入每个姓名
if (name == "#" ) break; // 遇到#结束输入
votes[name]++; // 给该姓名的得票数加1
}
int max_vote = 0; // 初始化最大得票数为0
string max_name; // 初始化最大得票数对应的姓名为空字符串
for (auto p : votes) { // 遍历所有得票数
if (p.second > max_vote) { // 如果当前得票数比最大得票数还大
max_vote = p.second; // 更新最大得票数
max_name = p.first; // 更新最大得票数对应的姓名
}
}
cout << max_name << endl; // 输出得票最多的姓名
return 0;
}
原文地址: http://www.cveoy.top/t/topic/ojJa 著作权归作者所有。请勿转载和采集!