候选人得票的统计程序
2025年12月17日
1
候选人得票的统计程序。设三个候选人,每次输入一个得票的候选人的名字,要求最后输出每个候选人的得票结果。
#include <stdio.h>
//定义结构体类型并且 定义结构体数组
struct person{
char name[20];//候选人姓名
int count;//得票数
}leader[3]={
"李",0,"张",0,"王",0
};
void main(){
//自定义 变量
int i,j,n;
char leader_name[20];
//通过 键盘录入数据,向n里面存值
printf("enter n:");
scanf("%d", &n);
//遍历数组 作用:把你当前收入的候选人的名字,存到 leader_name 这个字符数组中
for(int i=0; i<n; i++){
scanf("%s",leader_name);
//开始投票, 通过比较字符串strcmp函数进行处理
for(int j=0; j<3;j++){
//如果 数组中的这个人 和 结构体数组中的那个人名字相等
//就说明,我当前就在给这个人进行投票,
//他的投票数,就是在原有的值得基础上加1
if(strcmp(leader_name,leader[j].name)==0){
leader[j].count++;
}
}
}
//输入候选人的得票信息
for(int i=0; i<3; i++){
printf("%s, %d \n", leader[i].name, leader[i].count );
}
}测试:
给你 1次投票机会。我只给 李 投票,我不想给 张 和王 投票。

给你 5次投票机会。我给李投2票,给张投1票,给王投2票。

