C语言编写选举程序:要求:一.有3个候选人,12个投票人.二.如果有一人得票过半,选举有效,该人当选;如果没有人得票过半,选举无效,重选;如果有2人同时得6票,选举无效,重选。
- 提问者网友:骑士
- 2021-05-20 04:29
- 五星知识达人网友:由着我着迷
- 2021-05-20 05:52
#include<stdio.h>
void main()
{
int hum[12],i,n,a[3];
while (1)
{
for (i=0;i<12;i++)
{
printf("%d号评委请选择1~3个人投票:",i+1);
scanf("%d",&n);
hum[i]=n;
}
a[0]=0;a[1]=0;a[2]=0;
for (i=0;i<12;i++)
{
if (hum[i]==1) a[0]++;
else if(hum[i]==2) a[1]++;
else if(hum[i]==3) a[2]++;
}
if ((a[0]+a[1]>=6 || a[0]+a[2]>=6 || a[1]+a[2]>=6) && (a[0]!=a[1] && a[1]!=a[2]))
{
if (a[0]>=6) {printf("1号被选举!\n");break;}
else if (a[1]>=6) {printf("2号被选举!\n");break;}
else if (a[2]>=6) {printf("3号被选举!\n");break;}
}
else printf("选举无效!请重新选择!\n");
}
}
- 1楼网友:轮獄道
- 2021-05-20 06:56
int 候选人数=3;
int 候选人[3]={0};//每个候选人得票数
int 投票人数=12;
int max=0;
int maxi=0;
int i;
for(i=0;i<12;i++)
{
候选人[rand()%3]++;//随机投票
}
for(i=0;i<3;i++)
{
if(候选人[i]>max)
{//查找得票最多的
max=候选人[i];
maxi=i;
}
}
if(max<=6)printf("未过半");
else if(max==6)printf("无效");
else printf("当选:%d",maxi);