C语言利用结构体求投票数
时间: 2023-05-28 16:07:27 浏览: 112
假设有5个候选人,需要统计每个候选人的得票数,可以定义一个结构体来存储候选人的信息,包括候选人的姓名和得票数。然后定义一个数组来存储所有候选人的信息。
示例代码如下:
```
#include <stdio.h>
#include <string.h>
#define MAX_CANDIDATES 5
// 候选人信息结构体
struct candidate {
char name[20]; // 姓名
int votes; // 得票数
};
int main() {
struct candidate candidates[MAX_CANDIDATES]; // 存储候选人信息的数组
int i, j, num_votes;
// 初始化候选人信息
for (i = 0; i < MAX_CANDIDATES; i++) {
printf("请输入第%d个候选人的姓名:", i+1);
scanf("%s", candidates[i].name);
candidates[i].votes = 0;
}
// 统计投票数
printf("请输入总票数:");
scanf("%d", &num_votes);
for (i = 0; i < num_votes; i++) {
char name[20];
printf("请输入投票人的选票:");
scanf("%s", name);
for (j = 0; j < MAX_CANDIDATES; j++) {
if (strcmp(name, candidates[j].name) == 0) {
candidates[j].votes++;
break;
}
}
if (j == MAX_CANDIDATES) {
printf("无效选票:%s\n", name);
}
}
// 输出结果
printf("\n投票结果如下:\n");
for (i = 0; i < MAX_CANDIDATES; i++) {
printf("%s: %d 票\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
运行程序后,输入每个候选人的姓名和总票数,然后输入每个选民的选票。程序会统计每个候选人的得票数,并输出结果。如果输入的选票不属于任何一个候选人,程序会提示无效选票。
阅读全文