选举投票程序

#include<stdio.h>
#include<string.h>
#define N 3
struct Person
{
	char name[20];
	int count;
	
};	

int main()
{
	int i,j;
	Person leader[N];
	Person *p=leader;
	
	printf("请输入候选人姓名:\n");
	for(i=0;i<N;i++)
	{
		scanf("%s0",leader[i].name,&leader[i].count);
	}        //初始化为0=count 
	

	char leader_name[20];
	printf("选民选候选人姓名:\n");
	for(i=0;i<10;i++)
	{
		scanf("%s",leader_name);
		for(j=0;j<N;j++)
		{
			if(strcmp(leader_name,leader[j].name)==0)leader[j].count++;
			
		}
	}
		printf("\n 选举结果: \n");
		Person t;
	for(i=0;i<N;i++)
	{
		for(j=0;j<N-i-1;j++)
		{
			if(p[j+1].count>p[j].count)
			{
			
				t=p[j+1];
				p[j+1]=p[j];
				p[j]=t;
			}
		}
	}
			
		
	
		for(i=0;i<N;i++)
			printf("%5s:%d\n",p[i].name,p[i].count);
		return 0;
	
}

注意初始化被选人的票数,利用scanf语句的性质,读入0.

在Python中编写一个简单选举投票程序,可以分为以下几个步骤: 1. **创建候选列表**:首先,你可以定义一个候选的字典列表,每个字典包含候选的姓名、编号以及初始得票数。 ```python candidates = [ {"name": "张三", "id": 1, "votes": 0}, {"name": "李四", "id": 2, "votes": 0}, {"name": "王五", "id": 3, "votes": 0} ] ``` 2. **用户输入**:设计一个函数让用户输入他们想要投票的候选编号。 ```python def get_voter_choice(): choice = input("输入你想投票给的候选的编号 (1-{}): ".format(len(candidates))) return int(choice) ``` 3. **投票处理**:检查用户的输入是否有效,然后更新相应的候选得票数。 ```python def cast_vote(): while True: try: choice = get_voter_choice() if choice < 1 or choice > len(candidates): print("无效的选择,重新输入。") else: candidates[choice - 1]["votes"] += 1 break except ValueError: print("输入错误,输入数字。") ``` 4. **显示结果**:投票结束后,打印出当前的领先者以及各候选的得票情况。 ```python def show_results(): top_candidate = max(candidates, key=lambda x: x["votes"]) print("选举结果:") for candidate in candidates: print("候选{} ({}) - 得票数:{}".format(candidate["name"], candidate["id"], candidate["votes"])) print("当前领先者:{},得票数:{}".format(top_candidate["name"], top_candidate["votes"])) if __name__ == "__main__": cast_vote() show_results() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值