C语言现有三个候选人,投票数为5,设计一个含有候选人名字和票数的结构体,编程统计得票数,要求候选人从键盘输入,输出得票数
在C语言中,我们可以创建一个结构体来存储候选人的姓名和票数,然后编写一个程序来接收用户输入并更新票数。下面是一个简单的例子:
首先,我们定义一个结构体Candidate
:
struct Candidate {
char name[50]; // 存储候选人名字,假设最大长度为49(包括null字符)
int votes; // 存储票数
};
接着,我们可以编写一个函数来获取用户输入,更新票数,并统计总票数:
```c #include <stdio.h> #include <string.h>
void inputVotes(struct Candidate candidates[], int numCandidates) { for (int i = 0; i < numCandidates; i++) { printf("请输入候选人%u的名字(按Enter结束): ", i + 1); fgets(candidates[i].name, sizeof(candidates[i].name), stdin); // 接收输入,忽略换行符 while (candidates[i].name[strlen(candidates[i].name) - 1] == '\n') { // 去除fgets带来的换行符 candidates[i].name[strlen(candidates[i].name) - 1] = '\0'; }
printf("请输入第%d位候选人的票数: ", i + 1);
scanf("%d", &candidates[i].votes); // 获取票数
printf("\n");
}
}
int countTotalVotes(const struct Candidate* candidates, int numCandidates) { int totalVotes = 0; for (int i = 0; i < numCandidates; i++) { totalVotes += candidates[i].votes; } return totalVotes; }
int main() { const int numCandidates = 3; struct Candidate candidates[numCandidates];
// 获取用户输入
inputVotes(candidates, numCandidates);
// 统计并输出总票数
int total = countTotalVotes(candidates, numCandidates);
printf("总票数: %d\n", total);
// 可能会问到的相关问题
相关推荐


















