zzulioj1188: 选票统计(一)(结构体专题)

题目描述
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);
	return 0; 
} 

说明:
结构体数组赋初值也可以写成下列这种:

//定义一个结构体数组并赋初值 
struct Person a[5]={{"zhang",0},{"wang",0},{"zhao",0},{"liu",0},{"miao",0}};  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值