C语言基础 结构体存储数据

任务描述

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

三个候选人为"Li", "Zhang","Sun"。

相关知识

参考结构体第1关相关知识

编程要求

用结构体存储数据,求出得票结果。

测试说明

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

测试输入:

  1. 10
  2. Li
  3. Li
  4. Sun
  5. Zhang
  6. Zhang
  7. Sun
  8. Li
  9. Sun
  10. Zhang
  11. Li

预期输出:

  1. Li:4
  2. Zhang:2
  3. 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;
}

 

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值