请用c语言补全如下程序,使其实现的功能为“统计候选人选票”
时间: 2024-09-10 17:06:14 浏览: 41
C语言实现选票统计
当然可以,这里是一个简单的 C 语言程序,用于统计候选人的选票。假设我们有一个结构体 `Candidate` 来存储候选人信息,并包含一个整数 `votes` 用于计数选票。这是一个基本的命令行程序示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义候选人结构体
typedef struct {
char name[50];
int votes;
} Candidate;
void addVote(Candidate* candidates, int index) {
candidates[index].votes++;
}
int main() {
// 初始化候选人列表
const int num_candidates = 3; // 假设有三位候选人
Candidate* candidates = malloc(num_candidates * sizeof(Candidate));
for (int i = 0; i < num_candidates; i++) {
// 给每位候选人分配默认投票数为0
candidates[i].name = "候选人" + i;
candidates[i].votes = 0;
}
// 用户输入并添加选票
int choice;
printf("请输入候选人编号(1-%d): ", num_candidates);
scanf("%d", &choice);
if (choice >= 1 && choice <= num_candidates) {
addVote(candidates, choice - 1); // 减1是因为数组索引从0开始
} else {
printf("无效选择,忽略选票。\n");
}
// 输出结果
for (int i = 0; i < num_candidates; i++) {
printf("候选人 %s 累计得票: %d\n", candidates[i].name, candidates[i].votes);
}
free(candidates); // 释放内存
return 0;
}
```
在这个程序中,用户可以输入候选人的编号给某位候选人增加一票,然后程序会遍历所有候选人并显示他们的总票数。
阅读全文