用C语言编写某单位进行选举,有5位候选人:李宁、王新、赵广、陈奇、六六。编写一个统计每人得票数的程序。要求每一个人的信息使用一个结构体表示,5个人的信息使用结构体数组。
时间: 2024-03-01 09:55:52 浏览: 157
好的,这是一个简单的计票程序,可以使用以下的C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
struct candidate {
char name[20];
int votes;
};
int main() {
struct candidate candidates[5] = {
{"李宁", 0},
{"王新", 0},
{"赵广", 0},
{"陈奇", 0},
{"六六", 0}
};
int i, j;
char vote;
printf("请投票,输入候选人姓名的首字母(L、W、Z、C、L):\n");
while (1) {
scanf("%c", &vote);
if (vote == '\n') {
continue;
}
if (vote == 'Q') {
break;
}
for (i = 0; i < 5; i++) {
if (vote == candidates[i].name[0]) {
candidates[i].votes++;
printf("您已成功投票给 %s\n", candidates[i].name);
break;
}
}
if (i == 5) {
printf("您输入的选项不正确,请重新输入!\n");
}
}
printf("投票结果:\n");
for (i = 0; i < 5; i++) {
printf("%s: %d票\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
在程序中,我们定义了一个名为 `candidate` 的结构体,包含了候选人的姓名和得票数。我们又定义了一个 `candidates` 数组,包含了五个候选人的信息。
程序通过循环读取用户输入的候选人姓名的首字母,并且根据输入的字母,在 `candidates` 数组中查找对应的候选人。如果找到了对应的候选人,就将他的得票数加一,并输出投票成功的信息。否则,输出错误信息,提示用户重新输入。
当用户输入 `Q` 时,程序退出循环,输出每个候选人的得票数,完成计票。
阅读全文