| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:『求助』C语言设置投票问题,如何能以淘汰形式继续投票
只看楼主 加入收藏
Greed
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-11-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
『求助』C语言设置投票问题,如何能以淘汰形式继续投票
代码就不全贴出来了,我想问的是如何在不大量改变代码的情况下能以淘汰形式继续投票,直到选出优胜者,现在正在为投票不能继续下去而苦恼,总感觉好像再加上一个指令就能解决问题的感觉,麻烦高手们给我指出来,最好列出修改后版本,多谢

#include <stdio.h>
#include <conio.h>
main()
{
  char a[3];
   
  int n,i,na=0,nb=0,nc=0,nd=0,ne=0,nf=0,ng=0;
  printf("Please enter the number of votes\n");
  scanf("%d",&n);
  fflush(stdin);
  for(i=1; i<=n;i++)
  {
  printf("Please %d voting:\n",i);
  gets(a);
  if(a[0]==a[1]||a[0]==a[2]||a[1]==a[2])
  {
  printf("Invalid vote\n");
  }
  else
  {
  if(a[0]=='a')na+=1;
  if(a[0]=='b')nb+=1;
  if(a[0]=='c')nc+=1;
  if(a[0]=='d')nd+=1;
  if(a[0]=='e')ne+=1;
  if(a[0]=='f')nf+=1;
  if(a[0]=='g')ng+=1;
if(a[1]=='a')na+=1;
  if(a[1]=='b')nb+=1;
  if(a[1]=='c')nc+=1;
  if(a[1]=='d')nd+=1;
  if(a[1]=='e')ne+=1;
  if(a[1]=='f')nf+=1;
  if(a[1]=='g')ng+=1;
  if(a[2]=='a')na+=1;
  if(a[2]=='b')nc+=1;
  if(a[2]=='c')nd+=1;
  if(a[2]=='d')ne+=1;
  if(a[2]=='e')nf+=1;
  if(a[2]=='f')ng+=1;
  if(a[2]=='g')ng+=1;
  }
  }
   
  if(na>nb&&na>nc&&na>nd&&na>ne&&na>nf&&na>ng)
  printf("Congratulations [Michael D. Higgins] to win\n");
  else if(nb>na&&nb>nc&&nb>nd&&nb>ne&&nb>nf&&nb>ng)
  printf("Congratulations [Sean Gallagher] to win\n");
  else if(nc>na&&nc>nb&&nc>nd&&nc>ne&&nc>nf&&nc>ng)
  printf("Congratulations [Martin McGuinness] to win\n");
  else if(nd>na&&nb>nb&&nb>nc&&nb>ne&&nb>nf&&nb>ng)
  printf("Congratulations [Gay Mitchell] to win\n");
  else if(ne>na&&ne>nb&&ne>nc&&ne>nd&&ne>nf&&ne>ng)
  printf("Congratulations [David Norris] to win\n");
  else if(nf>na&&nf>nb&&nf>nc&&nf>nd&&nf>ne&&nf>ng)
  printf("Congratulations [Dana Rosemary] to win\n");
  else if(ng>na&&ng>nb&&ng>nc&&ng>nd&&ng>ne&&ng>nf)
  printf("Congratulations [Mary Davis] to win\n");
  else
  printf("Continue vote\n");
   
  printf("Score: Michael D. Higgins:%d Sean Gallagher:%d\n Martin McGuinness:%d Gay Mitchell:%d\n David Norris:%d Dana Rosemary:%d\n Mary Davis:%d\n",na,nb,nc,nd,ne,nf,ng);
  getch();
}
搜索更多相关主题的帖子: 如何 include number C语言 最好 
2011-11-16 20:59
凌风一指
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:26
专家分:181
注 册:2011-11-9
收藏
得分:20 
额,看看了,就看不下去了,还是希望楼主加上一些注释吧。
下面是自己的思想。
胜出的意思:在所有人里,只存在一个票数最多的。可以用比较if条件判定,若存在,则令flag变量为1(起始时是0)。
这样的话,可以再前面加上一个while循环,通过对flag的判定,来决定是否推出循环,以此来结束整个过程。
2011-11-17 20:27
快速回复:『求助』C语言设置投票问题,如何能以淘汰形式继续投票
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027516 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved