请用C语言,编程实现统计候选人得票数的程序。 设有3个候选人zhangsan、lisi、wangwu,候选人编号分别为A、B、C 。现有10张票,投票为每次由scanf输入得票的候选人编号A、B或C,匹配的候选人得票加1,投票结束,最后输出每个候选人的得票数。
时间: 2024-10-09 13:12:02 浏览: 32
为了实现这个需求,你可以创建一个简单的C语言程序。首先,我们需要定义一个结构体来存储候选人及其对应的票数,并用一个数组来存储所有候选人。接下来,我们可以编写一个循环来读取用户输入并更新相应的票数。以下是详细的步骤:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个结构体存储候选人及票数
typedef struct {
char name[10];
int votes;
} Candidate;
// 初始化候选人数组
Candidate candidates[] = {
{"zhangsan", 0},
{"lisi", 0},
{"wangwu", 0}
};
int main() {
// 初始化票数为0
for (int i = 0; i < sizeof(candidates) / sizeof(Candidate); i++) {
candidates[i].votes = 0;
}
// 循环获取用户输入并计票
int票总数 = 10;
while (票总数--) {
char choice;
printf("请输入候选人编号(A、B、C):");
scanf("%c", &choice);
// 根据选择的字符更新对应候选人的票数
if (choice == 'A') {
candidates[0].votes++;
} else if (choice == 'B') {
candidates[1].votes++;
} else if (choice == 'C') {
candidates[2].votes++;
} else {
printf("无效的输入,请重新选择!\n");
}
}
// 输出候选人得票结果
printf("投票结果:\n");
for (int i = 0; i < sizeof(candidates) / sizeof(Candidate); i++) {
printf("%s 票数:%d\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
阅读全文