结构体存储数据
任务描述
本关任务:有三个候选人,每个选民只能投一票,写一程序,用结构体存储数据,求出得票结果。
三个候选人为”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;
}