C语言实现候选人投票统计:代码示例及解析
#include <stdio.h>
#include <string.h>
#define MAX_CANDIDATES 3
typedef struct {
char name[20];
int votes;
} Candidate;
int main() {
Candidate candidates[MAX_CANDIDATES];
int i, j;
char vote[20];
// 初始化候选人信息
strcpy(candidates[0].name, 'Candidate 1');
candidates[0].votes = 0;
strcpy(candidates[1].name, 'Candidate 2');
candidates[1].votes = 0;
strcpy(candidates[2].name, 'Candidate 3');
candidates[2].votes = 0;
printf('请输入候选人的名字(输入0结束):\n');
// 循环输入候选人得票情况
while (1) {
printf('请输入候选人的名字:');
scanf('%s', vote);
// 输入0则结束输入
if (strcmp(vote, '0') == 0) {
break;
}
// 查找候选人并增加得票数
for (i = 0; i < MAX_CANDIDATES; i++) {
if (strcmp(vote, candidates[i].name) == 0) {
candidates[i].votes++;
break;
}
}
// 输入的候选人不存在
if (i == MAX_CANDIDATES) {
printf('输入的候选人不存在,请重新输入。\n');
}
}
// 输出每一个人的得票结果
printf('候选人得票情况:\n');
for (i = 0; i < MAX_CANDIDATES; i++) {
printf('%s: %d 票\n', candidates[i].name, candidates[i].votes);
}
return 0;
}
在这个代码中,我们定义了一个Candidate结构体,包含候选人的名字和得票数。然后使用一个数组candidates来存储3个候选人的信息。
首先,我们初始化了候选人的信息。然后通过一个循环,输入每一个候选人的得票情况,直到输入0结束。在输入过程中,我们通过循环查找输入的候选人名字是否存在,如果存在则增加相应候选人的得票数,如果不存在则提示重新输入。
最后,我们通过循环输出每一个候选人的得票结果。
原文地址: http://www.cveoy.top/t/topic/f4mo 著作权归作者所有。请勿转载和采集!