某次选举,要从五个候选人(编号分别为1、2、3、4、5)中选一名厂长。请编程完成统计选票的工作。c语言实现
时间: 2024-04-01 10:34:17 浏览: 102
好的,以下是一份 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int votes[5] = {0}; // 初始化选票数组为0
int candidate; // 存储选民投票的候选人编号
int i;
// 循环读取选民的投票,输入-1结束投票
while (1) {
printf("请输入您的投票: ");
scanf("%d", &candidate);
if (candidate == -1) {
break;
}
if (candidate >= 1 && candidate <= 5) {
votes[candidate - 1]++; // 候选人编号从1开始,数组下标从0开始,所以要减1
} else {
printf("无效的候选人编号!\n");
}
}
// 输出各候选人的得票情况
printf("候选人编号\t得票数\n");
for (i = 0; i < 5; i++) {
printf("%d\t\t%d\n", i + 1, votes[i]);
}
// 找出得票最高的候选人
int max_votes = votes[0]; // 初始化最高票数为第一个候选人的票数
int max_candidate = 1; // 初始化最高票数的候选人编号为1
for (i = 1; i < 5; i++) { // 从第二个候选人开始比较
if (votes[i] > max_votes) {
max_votes = votes[i];
max_candidate = i + 1;
}
}
// 输出得票最高的候选人
printf("得票最高的候选人是%d号,得票数为%d。\n", max_candidate, max_votes);
return 0;
}
```
这份代码实现了从控制台读取选民投票,统计各候选人得票情况,找出得票最高的候选人等功能。需要注意的是,候选人编号从1开始,数组下标从0开始,所以在存储选票时要将候选人编号减1。
阅读全文