某单位进行选举,有5位候选人:李宁、王新、赵广、陈奇、六六。编写一个统计每人得票数的程序。要求每一个人的信息使用一个结构体表示,5个人的信息使用结构体数组。
时间: 2024-06-09 11:05:28 浏览: 119
以下是一个简单的实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 20
struct candidate {
char name[MAX_NAME_LEN];
int votes;
};
int main() {
struct candidate candidates[5] = {
{"李宁", 0},
{"王新", 0},
{"赵广", 0},
{"陈奇", 0},
{"六六", 0}
};
int i, j, num_votes;
char vote_name[MAX_NAME_LEN];
printf("请输入总票数: ");
scanf("%d", &num_votes);
for (i = 0; i < num_votes; i++) {
printf("请输入第 %d 张选票的人名: ", i+1);
scanf("%s", vote_name);
for (j = 0; j < 5; j++) {
if (strcmp(vote_name, candidates[j].name) == 0) {
candidates[j].votes++;
break;
}
}
if (j == 5) {
printf("无效选票\n");
}
}
printf("最终结果:\n");
for (i = 0; i < 5; i++) {
printf("%s: %d 票\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
以上程序创建了一个结构体 `candidate`,用于存储每个候选人的名字和得票数。`main()` 函数中创建了一个包含5个 `candidate` 结构体的数组来表示所有候选人。然后进行输入选票并计算每个候选人的得票数,最后输出结果。
阅读全文