结构体存储数据

任务描述

本关任务:有三个候选人,每个选民只能投一票,写一程序,用结构体存储数据,求出得票结果。

三个候选人为”Li“, “Zhang“,”Sun“。

编程要求

补充代码,用结构体存储数据,求出得票结果。

测试说明

平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:

10
Li
Li
Sun
Zhang
Zhang
Sun
Li
Sun
Zhang
Li

预期输出:

Li:4
Zhang:2
Sun:3

测试输入数据说明:

输入数据第一行包含一个整数n,表示有n个人投票。接下来的每一行包含某个候选人的名字。

代码如下

#include<stdio.h>
#include<string.h>
typedef struct candidate     /*定义结构体类型*/
{
	char name[20];       /*存储名字*/
	int count;              /*存储得票数*/
}CAND;                    /*定义结构体数组*/

int main()
{
	CAND cndt[3] = { {"Li",0},{"Zhang",0},{"Sun",0} };
	int i, j,n;
	scanf("%d", &n);
	char leader_name[20];
	for (i = 1; i <= n; i++)
	{
		scanf("%s", leader_name);
		for (j = 0; j <= 2; j++)
		{
			if (strcmp(leader_name, cndt[j].name) == 0)
			{
				cndt[j].count++;
			}
		}
	}
	for (i = 0; i <= 2; i++)
	{
		printf("%s:%d\n", cndt[i].name, cndt[i].count);
	}
	return 0;
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐