用c语言②有3个候选人,每个选民只能投票一人,要求编一个统计选票的程序,先输入被选人的明细,最后输出各人得票结果。
时间: 2024-03-19 14:40:37 浏览: 107
好的,我可以帮你解决这个问题。
以下是一个简单的 C 语言程序,用于统计选票,可以输入候选人的明细,然后输出每个候选人的得票结果。
```c
#include<stdio.h>
#include<string.h>
#define MAX_CANDIDATES 3
struct candidate {
char name[20];
int votes;
};
int main() {
struct candidate candidates[MAX_CANDIDATES];
int i, j, num_voters;
char vote[20];
// 初始化候选人列表
for (i = 0; i < MAX_CANDIDATES; i++) {
candidates[i].votes = 0;
}
// 输入候选人的明细
for (i = 0; i < MAX_CANDIDATES; i++) {
printf("Enter the name of candidate %d: ", i+1);
scanf("%s", candidates[i].name);
}
// 输入选民的投票
printf("Enter the number of voters: ");
scanf("%d", &num_voters);
for (i = 0; i < num_voters; i++) {
printf("Enter the vote of voter %d: ", i+1);
scanf("%s", vote);
// 统计选票
for (j = 0; j < MAX_CANDIDATES; j++) {
if (strcmp(vote, candidates[j].name) == 0) {
candidates[j].votes++;
break;
}
}
}
// 输出得票结果
printf("Candidate\tVotes\n");
for (i = 0; i < MAX_CANDIDATES; i++) {
printf("%s\t\t%d\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
这个程序使用了结构体来存储候选人的信息,使用了循环来输入候选人的明细和选民的投票,并使用了 strcmp 函数来比较投票结果和候选人的名字。最后,将得票结果输出到屏幕上。
希望这个程序能够帮到你。
阅读全文