【C语言】用结构体数组实现:有三个候选人,每个选民只能选一个人,编写一个选票程序,最终输出候选人的票数

//用结构体数组实现:有三个候选人,每个选民只能选一个人,编写一个选票程序,最终输出候选人的票数(假设有十个选民)
#include <stdio.h>
struct Person             //声明结构体
{
	char name[20];
	int count;
}leader[3]={"li",0,"zhang",0,"sun",0};   //定义结构体数组并初值化
int main()
{
	int i,j;
	char leader_name[20];     //定义字符数组
	printf("请输入候选人名字:li,zhang,sun\n");
	for(i=0;i<10;i++)
	{
		scanf("%s",leader_name);   //选民输入候选人名字
		for(j=0;j<3;j++)
		{
			if(strcmp(leader_name,leader[j].name)==0)    //如果名字对应,则该名字加1
				leader[j].count++;
		}
	}
	printf("\n最终投票结果为:\n");
	for(i=0;i<3;i++)
	{
		printf("%13s:%d\n",leader[i].name,leader[i].count);
	}
	return 0;
}

  • 20
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,我可以帮你解答这个问题。 以下是一个结构体存储数据C语言程序,可以实现统计三个候选人得票情况: ```c #include <stdio.h> struct candidate { char name[20]; int votes; }; int main() { struct candidate candidates[3]; int i, j; // 初始化候选人信息 for (i = 0; i < 3; i++) { printf("请输入第 %d 个候选人的名字:", i + 1); scanf("%s", candidates[i].name); candidates[i].votes = 0; } // 开始投票 printf("投票开始,请输入您的选票:\n"); for (i = 0; i < 10; i++) { int choice; printf("第 %d 张选票,您的择是:", i + 1); scanf("%d", &choice); candidates[choice - 1].votes++; } // 输出得票结果 printf("投票结束,得票情况如下:\n"); for (i = 0; i < 3; i++) { printf("%s: %d 票\n", candidates[i].name, candidates[i].votes); } return 0; } ``` 这个程序首先定义了一个结构体 `candidate`,用来存储每个候选人的名字和得票数。然后在 `main` 函数中创建了一个 `candidates` 数组,用来存储三个候选人的信息。 接下来程序通过一个循环,让用户输入每个候选人的名字,并将每个候选人得票数初始化为0。 随后,程序开始投票。对于每张选票程序让用户输入择的候选人的编号(1、2或3),并将该候选人得票数加1。 最后,程序输出每个候选人得票结果。 这个程序只是一个简单的例子,你可以根据实际需求进行修改和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值