news 2026/5/5 2:51:57

水作业.2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
水作业.2

用程序模拟一个活动的投票统计功能。首先输入参选人员个数,再输入每位参选人员名字(不超过20字节),再输入选票张数,再依次输入选票中所选的参选人名(选票中必须选参选中的其中一位)。在输入选票过程中统计每位参选人的得票数,最终按得票数由高到低的顺序输出参选人和其票数(空格分隔),如果票数相同,则按名字从小到大的顺序(ASCII码顺序)输出。
提示:选票信息按如下结构定义:

struct vote { char name[20];//名字 int count;//票数 };

输入样例:

3 Li Wang Zhang 8 Li Wang Li Zhang Li Li Wang Zhang

输出样例:

Li 4 Wang 2 Zhang 2

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

struct vote {
char name[20];
int count = 0; // 直接初始化为0
};

int main() {
int n, m;
cin >> n;

vote candidates[100];

// 输入候选人
for (int i = 0; i < n; i++) {
cin >> candidates[i].name;
}

cin >> m;

// 统计选票
for (int i = 0; i < m; i++) {
char name[20];
cin >> name;

// 查找这个人
for (int j = 0; j < n; j++) {
if (strcmp(candidates[j].name, name) == 0) {
candidates[j].count++;
break;
}
}
}

// 简单排序(冒泡排序)
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
// 先比较票数
if (candidates[j].count < candidates[j + 1].count) {
// 交换两个候选人
vote temp = candidates[j];
candidates[j] = candidates[j + 1];
candidates[j + 1] = temp;
}
// 如果票数相同,比较名字
else if (candidates[j].count == candidates[j + 1].count) {
if (strcmp(candidates[j].name, candidates[j + 1].name) > 0) {
vote temp = candidates[j];
candidates[j] = candidates[j + 1];
candidates[j + 1] = temp;
}
}
}
}

// 输出结果
for (int i = 0; i < n; i++) {
cout << candidates[i].name << " " << candidates[i].count << endl;
}

return 0;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 17:16:28

官网-职工带薪年休假条例

官网:职工带薪年休假条例(国务院令第514号)_中华人民共和国中央人民政府门户网站 第一条 为了维护职工休息休假权利,调动职工工作积极性,根据劳动法和公务员法,制定本条例。 第二条* 机关、团体、企业、事业单位、民办非企业单位、有雇工的个体工商户等单位的职工连续…

作者头像 李华
网站建设 2026/5/1 12:29:12

网络流24题 加强版 P4480 [BJWC2018] 餐巾计划问题

https://www.luogu.com.cn/problem/P1251 为弱化版。 我们发现建图非常简单。拆个点,随便模拟题意连即可。 但是!网络流太笨了。加强版 P4480 就必须要贪心了。 于是我一年前用 SSP 水过了加强版 P4480。 以下变量定义按照 https://www.luogu.com.cn/problem/P1251 来,因…

作者头像 李华
网站建设 2026/5/2 15:17:33

FreeFileSync (文件夹比较同步) v14.6

下载地址 https://pan.quark.cn/s/0dbf570fa2ac 介绍 FreeFileSync是一个文件夹比较和同步软件&#xff0c;可以创建和管理所有重要文件的备份副本。FreeFileSync不是每次都复制每个文件&#xff0c;而是确定源文件夹和目标文件夹之间的差异&#xff0c;并仅传输所需的最少数…

作者头像 李华
网站建设 2026/5/3 0:40:40

对 Promise.race 的理解

基础问答问&#xff1a;有使用过 Promise.race 吗&#xff0c;说说他的作用。答&#xff1a;Promise.race 接收一个 Promise 数组&#xff08;或者一个具有迭代器的对象&#xff09;作为参数&#xff0c;返回一个新的Promise&#xff0c;这个新的 Promise 结果是数组中第一个状…

作者头像 李华