用c语言编写有3个候选人,每个选民只能投票一人,要求编一个统计选票的程序,先输入被选人的明细,最后输出各人得票结果
时间: 2024-04-03 18:33:09 浏览: 102
好的,以下是一个简单的用C语言编写的统计选票程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CANDIDATES 3
#define MAX_NAME_LENGTH 20
struct Candidate {
char name[MAX_NAME_LENGTH];
int votes;
};
int main() {
struct Candidate candidates[MAX_CANDIDATES];
int num_voters, i, j, vote;
char name[MAX_NAME_LENGTH];
// Input candidate names
for (i = 0; i < MAX_CANDIDATES; i++) {
printf("Enter name of candidate #%d: ", i+1);
scanf("%s", candidates[i].name);
candidates[i].votes = 0;
}
// Input number of voters
printf("Enter number of voters: ");
scanf("%d", &num_voters);
// Input votes
for (i = 0; i < num_voters; i++) {
printf("Voter #%d, enter your vote: ", i+1);
scanf("%s", name);
// Find candidate
for (j = 0; j < MAX_CANDIDATES; j++) {
if (strcmp(name, candidates[j].name) == 0) {
candidates[j].votes++;
break;
}
}
// Invalid vote
if (j == MAX_CANDIDATES) {
printf("Invalid candidate!\n");
}
}
// Output results
printf("\nResults:\n");
for (i = 0; i < MAX_CANDIDATES; i++) {
printf("%s: %d votes\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
这个程序使用了一个结构体 `Candidate` 来存储被选人的名字和得票数。首先,程序会要求输入每个被选人的名字,并初始化他们的得票数为0。接着,程序要求输入投票人数,然后逐一输入每个投票人的投票结果。程序会查找投票结果对应的候选人,并将其得票数加1。如果输入的投票结果不是一个合法的候选人名字,程序会输出一个错误信息。最后,程序会输出每个被选人的得票数。
阅读全文