C语言有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。
时间: 2024-03-31 09:34:49 浏览: 162
候选人得票统计,用c语言编写的代码
好的,这是一个简单的统计选票的程序,使用c语言实现,具体代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CANDIDATES 3 // 候选人数
#define MAX_NAME_LENGTH 20 // 姓名最大长度
// 候选人结构体
typedef struct {
char name[MAX_NAME_LENGTH]; // 姓名
int votes; // 得票数
} Candidate;
// 初始化候选人信息
void initCandidates(Candidate candidates[]) {
strcpy(candidates[0].name, "Candidate 1");
candidates[0].votes = 0;
strcpy(candidates[1].name, "Candidate 2");
candidates[1].votes = 0;
strcpy(candidates[2].name, "Candidate 3");
candidates[2].votes = 0;
}
// 打印候选人得票情况
void printResult(Candidate candidates[]) {
printf("Candidate 1: %d votes\n", candidates[0].votes);
printf("Candidate 2: %d votes\n", candidates[1].votes);
printf("Candidate 3: %d votes\n", candidates[2].votes);
}
int main() {
Candidate candidates[MAX_CANDIDATES];
char name[MAX_NAME_LENGTH];
initCandidates(candidates);
// 循环输入选票,直到输入结束
while (scanf("%s", name) != EOF) {
if (strcmp(name, candidates[0].name) == 0) {
candidates[0].votes++;
}
else if (strcmp(name, candidates[1].name) == 0) {
candidates[1].votes++;
}
else if (strcmp(name, candidates[2].name) == 0) {
candidates[2].votes++;
}
else {
printf("Invalid name: %s\n", name);
}
}
printResult(candidates);
return 0;
}
```
程序中定义了一个候选人结构体,包含姓名和得票数两个属性。通过 `initCandidates` 函数初始化候选人信息,通过 `printResult` 函数打印候选人得票情况。
在 `main` 函数中,循环读取输入的选票,根据候选人姓名累加得票数。如果输入的姓名不属于候选人中的任何一个,输出错误信息。
最后通过 `printResult` 函数打印候选人得票情况。
阅读全文