本关任务:有三个候选人,每个选民只能投一票,写一程序,用结构体存储数据,求出得票结果。用c语言进行编写
时间: 2023-05-19 18:01:03 浏览: 804
用结构体求 投票
好的,这是一个经典的计票程序,我们可以使用结构体来存储候选人的信息,然后使用循环来读取每个选民的投票,最后统计得票结果。以下是示例代码:
```c
#include <stdio.h>
// 定义候选人结构体
struct Candidate {
char name[20]; // 候选人姓名
int votes; // 得票数
};
int main() {
// 初始化候选人信息
struct Candidate candidates[3] = {
{"Alice", 0},
{"Bob", 0},
{"Charlie", 0}
};
// 读取选民投票
int num_voters;
printf("请输入选民人数:");
scanf("%d", &num_voters);
for (int i = 0; i < num_voters; i++) {
int vote;
printf("第%d个选民,请输入你的投票(1-%d):", i+1, 3);
scanf("%d", &vote);
// 统计得票结果
if (vote >= 1 && vote <= 3) {
candidates[vote-1].votes++;
} else {
printf("无效的投票!\n");
}
}
// 输出得票结果
printf("得票结果如下:\n");
for (int i = 0; i < 3; i++) {
printf("%s:%d票\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
这个程序使用了结构体来存储候选人的信息,包括姓名和得票数。然后使用循环来读取每个选民的投票,如果投票有效,则将对应候选人的得票数加一。最后输出得票结果。
阅读全文