(1)统计候选人选票。设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出三个候选人的得票结果。用c语言
时间: 2024-04-01 17:34:23 浏览: 63
可以使用结构体和数组来实现候选人选票的统计,以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define CANDIDATE_NUM 3
struct Candidate {
char name[20];
int votes;
};
int main() {
struct Candidate candidates[CANDIDATE_NUM] = {
{ "Candidate A", 0 },
{ "Candidate B", 0 },
{ "Candidate C", 0 }
};
char input[20];
while (1) {
printf("Enter candidate name (or 'exit' to exit): ");
scanf("%s", input);
if (strcmp(input, "exit") == 0) {
break;
}
int found = 0;
for (int i = 0; i < CANDIDATE_NUM; i++) {
if (strcmp(input, candidates[i].name) == 0) {
candidates[i].votes++;
found = 1;
break;
}
}
if (!found) {
printf("Invalid candidate name!\n");
}
}
printf("Candidate results:\n");
for (int i = 0; i < CANDIDATE_NUM; i++) {
printf("%s: %d votes\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
首先定义一个 `Candidate` 结构体,包含候选人的名字和得票数。然后定义一个长度为 `CANDIDATE_NUM` 的结构体数组,初始化每个候选人的名字和得票数为零。接着通过循环读取用户输入的候选人名字,并在候选人数组中查找是否有对应的候选人,如果找到,则将该候选人的得票数加一,否则提示用户输入的候选人名字无效。最后输出每个候选人的得票结果。
注意:本示例代码并未对用户输入的候选人名字进行任何格式或正确性的校验,实际应用中需要根据具体需求进行完善。
阅读全文