统计候选人的票数
作者: XXX 时间限制: 1S 章节: 结构体
问题描述 :
设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后,程序自动显示各候选人的得票结果和废票信息。要求用结构体数组candidate表示3个候选人的姓名和得票结果。
输入说明 :
输入十行,每行表示一个选民的投票,每行包含一个候选人姓名。若选民输错候选人姓名,则按废票处理。
输出说明 :
选民投票结束后,程序自动显示各候选人的得票结果和废票信息。
每行输出“姓名: 票数”, 如zang:10。
最后一行输出:“Wrong election:票数”。
输入范例 :
li
li
li
li
zhang
zhang
zhang
ll
wang
wang
输出范例 :
li:4
zhang:3
wang:2
Wrong election:1
#include<stdio.h>
#include<string.h>
#define N 10
typedef struct people{
char peopleName[10];
}PEOPLE;
int main(){
int sum1=0,sum2=0,sum3=0,sum4=0;
int i;
char name[N][N];
PEOPLE stu[5]={"li","zhang","wang"};
for(i=0;i<10;i++){
gets(name[i]);
if(strcmp(name[i],stu[0].peopleName)==0)
sum1++;
else if(strcmp(name[i],stu[1].peopleName)==0)
sum2++;
else if(strcmp(name[i],stu[2].peopleName)==0)
sum3++;
else
sum4++;
}
printf("%s:%d\n",stu[0].peopleName,sum1);
printf("%s:%d\n",stu[1].peopleName,sum2);
printf("%s:%d\n",stu[2].peopleName,sum3);
printf("Wrong election:%d",sum4);
return 0;
}