news 2026/8/7 8:25:16

水作业.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/8/7 4:44:04

STM32学习——AD单通道AD多通道

1.AD单通道1.相关函数void RCC_ADCCLKConfig(uint32_t RCC_PCLK2);//用于配置 ADC&#xff08;模数转换器&#xff09;时钟源分频的核心函数&#xff0c;隶属于 RCC&#xff08;复位和时钟控制&#xff09;模块&#xff0c;作用是将 APB2 总线时钟&#xff08;PCLK2&#xff09…

作者头像 李华
网站建设 2026/8/7 23:03:35

基于Spring Boot的农产品销售系统的设计与实现毕设源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于Spring Boot框架的农产品销售系统&#xff0c;以满足现代农业市场对高效、便捷、安全的农产品交易需求。具体研究目的如下&#xf…

作者头像 李华
网站建设 2026/8/7 23:31:14

基于Spring Boot的流浪动物救助平台的设计与实现毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于Spring Boot框架的流浪动物救助平台&#xff0c;以解决当前流浪动物救助工作中存在的问题&#xff0c;提高救助效率&#xff0c;优…

作者头像 李华
网站建设 2026/8/7 11:39:45

备份恢复-Cordovaopenharmony本地安全方案

一、功能概述 与第 17 篇的"导入导出"不同&#xff0c;"备份恢复"更强调自动化和安全性。用户不需要手动管理 JSON 文件&#xff0c;应用可以定期自动创建备份快照&#xff0c;并在需要时一键恢复。本篇文章围绕"备份恢复"模块展开&#xff0c;介…

作者头像 李华
网站建设 2026/8/7 0:01:07

创建目标模块 Cordova 与 OpenHarmony 混合开发实战

&#x1f4cc; 概述 创建目标模块允许用户创建和编辑喝茶目标。该模块集成了 Cordova 框架与 OpenHarmony 原生能力&#xff0c;提供了完整的目标创建和编辑功能。用户可以设置目标名称、目标值、截止日期等信息。模块支持目标模板&#xff0c;帮助用户快速创建常见目标。 &…

作者头像 李华
网站建设 2026/8/7 18:25:10

解决MQ消息丢失问题的5种方案

前言今天我们来聊聊一个让很多开发者头疼的话题——MQ消息丢失问题。有些小伙伴在工作中&#xff0c;一提到消息队列就觉得很简单&#xff0c;但真正遇到线上消息丢失时&#xff0c;排查起来却让人抓狂。其实&#xff0c;我在实际工作中&#xff0c;也遇到过MQ消息丢失的情况。…

作者头像 李华