c语言课程设计选举问题急急急急急急急急

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:10:44
2.选举问题:某公司选一领导,现有3个候选人,有50位选民(不包括3个候选人,3个候选人可参加投票)。请设计一个程序,计算选票,并打印出候选人各自的票数,确定获胜者。编程提示:(中)
(1) 主函数,输入选民人数,调用投票选举函数。
(2) 投票选举函数,统计投票结果。
(3) 胜选函数,如果3人票数相同,则重选;如果2人票数相同且少于第3人,则第3人当选;如果3人票数不同,则最高票者当选;如果2人票数相同且大于第3人,则第3人被淘汰,剩下2人重选。
(4) 俩人之间的重选函数(1与2,1与3,2与3)。

先谢谢了,,很急
就是设计一个程序、、、

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int Victory(int *);
void Vote(int *,int);

int main()
{
srand(unsigned(time(NULL)));
int a[3];
printf("%d号当选\n",Victory(a)+1);
return 0;
}

int Victory(int *a)
{
int i,j,n=-1,
judge,max=0,min=0;
do
{
judge=1;
Vote(a,n);
for(i=0;i<3;i++)
{
if(i!=n)
{
printf("%d号: %d票\n",i+1,a[i]);
if(a[max]<a[i]) max=i;
if(a[min]>a[i]) min=i;
}
}
if(a[0]==a[1]&&a[0]==a[2])
{
printf("同票\n");
continue;
}
for(i=0;i<2;i++)
{
for(j=i+1;j<3;j++)
{
if(a[i]==a[j])
{
if(min!=i)
{
n=min;
printf("%d号淘汰\n",min+1);
min++;
min%=3;