题目描述
1483. 某单位进行选举,有5位候选人:zhang、wang、zhao、liu、miao。编写程序,统计每人所得的票数。要求每人的信息里包括两部分:name和votes,分别描述姓名和所得票数。每个人的信息用一个结构体来表示,5个人的信息使用结构体数组。
输入
首先输入一个整数n,表示一张选票,接下来n行,每行是一个由小写英文字母组成的字符串,表示以上5个候选人之一。
输出
输出5行,按zhang、wang、zhao、liu、miao的顺序输出5个候选人的姓名和所得票数,用空格隔开。
样例输入 Copy
8
zhang
wang
zhang
zhao
wang
liu
wang
wang
样例输出 Copy
zhang 2
wang 4
zhao 1
liu 1
miao 0
#include<stdio.h>
#include<string.h>
typedef struct student{
char name[10];
int vote;
}student;
int main(){
int t,i,j;
char s[10];
student stu[5];
scanf("%d",&t);
getchar();
strcpy(stu[0].name,"zhang");
strcpy(stu[1].name,"wang");
strcpy(stu[2].name,"zhao");
strcpy(stu[3].name,"liu");
strcpy(stu[4].name,"miao");
stu[0].vote=0;
stu[1].vote=0;
stu[2].vote=0;
stu[3].vote=0;
stu[4].vote=0;
for(i=0;i<t;i++){
memset(s,0,sizeof(s));
scanf("%s",s);
for(j=0;j<5;j++){
if(strcmp(stu[j].name,s)==0){
stu[j].vote++;
break;
}
}
}
for(i=0;i<5;i++)
printf("%s %d\n",stu[i].name,stu[i].vote);
return 0;
}