题⽬描述
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>
struct Person{
char name[10];//候选⼈的姓名
int sum;//候选⼈的票数和
};
int main()
{
int i,n,x;
char str[10];
struct Person a[6];//定义⼀个结构体数组
scanf("%d",&n);//输⼊选票总数
公安机关中级执法资格考试
//给结构体数组每个元素的姓名、票数赋值
strcpy(a[0].name,"zhang");
strcpy(a[1].name,"wang");
strcpy(a[2].name,"zhao");
strcpy(a[3].name,"liu");
strcpy(a[4].name,"miao");
a[0].sum=a[1].sum=a[2].sum=a[3].sum=a[4].sum=0;
//利⽤循环统计每个⼈的选票数
for(i=0;i<n;i++)
海量存储器
{
scanf("%s",str);//输⼊选票
if(strcmp(str,"zhang")==0)
x=0;
else if(strcmp(str,"wang")==0)
x=1;
else if(strcmp(str,"zhao")==0)
x=2;
else if(strcmp(str,"liu")==0)
x=3;
else if(strcmp(str,"miao")==0)
x=4;
a[x].sum++;
}
//输出选票统计结果
for(i=0;i<5;i++)
printf("%s %d\n",a[i].name,a[i].sum);
return0;
}
lt36说明:
结构体数组赋初值也可以写成下列这种:
//定义⼀个结构体数组并赋初值
struct Person a[5]={{"zhang",0},{"wang",0},{"zhao",0},{"liu",0},{"miao",0}};