用C语言设有三个候选人,每次输入一个得票的候选人名字,要求最后输出各内得票数。
时间: 2024-02-20 18:01:26 浏览: 31
好的,这是一个简单的计票程序,可以用C语言实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 20
#define MAX_CANDIDATES 3
int main() {
char candidates[MAX_CANDIDATES][MAX_NAME_LEN];
int votes[MAX_CANDIDATES] = {0};
int i, j, found;
// 初始化候选人姓名
strcpy(candidates[0], "Alice");
strcpy(candidates[1], "Bob");
strcpy(candidates[2], "Charlie");
// 输入得票候选人姓名,直到输入结束
char name[MAX_NAME_LEN];
while (scanf("%s", name) != EOF) {
// 确定得票候选人在数组中的下标
found = 0;
for (i = 0; i < MAX_CANDIDATES; i++) {
if (strcmp(name, candidates[i]) == 0) {
found = 1;
votes[i]++;
break;
}
}
if (!found) {
printf("候选人 %s 不存在!\n", name);
}
}
// 输出每个候选人的得票数
for (i = 0; i < MAX_CANDIDATES; i++) {
printf("%s: %d 票\n", candidates[i], votes[i]);
}
return 0;
}
```
程序中使用了一个二维字符数组存储候选人的姓名,用一个一维数组存储每个候选人的得票数。输入得票候选人姓名时,对每个输入的姓名在候选人数组中查找,找到后在得票数组中对应下标的元素加一。最后输出每个候选人的得票数。