❶ c语言程序设计 投票程序
#include<stdio.h>
int main()
{
    int a_score=0,b_score=0,c_score=0,max_score,number,number_,i,j,k,count=0;;
    char vote[100][3],c;
    printf("投票人数:");
    scanf("%d",&number);
    i=0;
    number_=number;
    while(number-->0)
    {
          for(j=0;j<3;j++)
          {
                          do{
                             c=getchar();
                             }while(isspace(c));
                          for(k=0;k<j;k++)
                              if(c==vote[i][k])
                              {
                                   
                                   printf("该票无效!\n");
                                   i--; 
                                   count++;
                                   break;
                              }        
                          if(k>=j)
                               vote[i][j]=c;
          }
          i++;
          
    }
    for(i=0;i<number_-count;i++)
    {
           for(j=0;j<3;j++)
                           switch(j)
                           {
                                case 0:switch(vote[i][j])
                                       {
                                            case 'a':a_score+=5;break;
                                            case 'b':b_score+=5;break;
                                            case 'c':c_score+=5;break;                  
                                            default :break;
                                       }  
                                       break;
                                case 1:switch(vote[i][j])
                                       {
                                            case 'a':a_score+=3;break;
                                            case 'b':b_score+=3;break;
                                            case 'c':c_score+=3;break;                  
                                            default :break;
                                       }     
                                       break;   
                                case 2:switch(vote[i][j])
                                     {
                                            case 'a':a_score+=2;break;
                                            case 'b':b_score+=2;break;
                                            case 'c':c_score+=2;break;                  
                                            default :break;
                                     }  
                                     break;
                                default:break;  
                           }           
    }
    printf("三位候选人得分:\na:%d\nb:%d\nc:%d\n",a_score,b_score,c_score);
     if(a_score>b_score&&a_score>c_score)
     {
          printf("祝贺a当选冠军\n");
     }
     else if(b_score>a_score&&b_score>c_score)
     {
          printf("祝贺b当选冠军\n");
     }
    else if(c_score>a_score&&c_score>b_score)
    {
          printf("祝贺c当选冠军\n");
    }
    else
          printf("重新投票\n");
    getch();
    return 0;
}
希望对你有所帮助,花了我点时间,呵呵!
❷ C语言编写一个模拟投票系统
#define PRT(j,k) printf("j的票数为%d",k); 这里你如果想要J显示你想要的内容的话直接 把j放在双引号的外面就可以了, #define PRT(j,k) printf(j“的票数为%d",k); 但是这里注意的是你传入的j的值就一定要是字符串形式的,就比如 调用PRT(”jack“,10) 那么显示出来就会是 jack的票数为10 调试了一下发现要把hxr定义为hxr[2]才行 想了下也就是hxr要把\0也接收到才行 首先你定义hxr为char型,一个char型,你需要使用 %c 去接受,改成scanf("%c",&hxr); 还有 scanf以后注意谨慎使用,用多了以后你会发现 scanf会很容出问题。
❸ 投票程序 C语言
http://..com/question/165146028.html
❹ C语言投票程序
提示输入,可以直接输入下标,0~2。
这样就不需要判断了。还能避免输入错误。
提示输入的文字建议用循环动态生成。这样方便后期扩展,比如变成5个人。
提示输入的文字大致可以这样写:
把数组大小定义成常量,方便修改,比如#define SIZE 3
printf("请输入对应数字,为下列人物投票:");
for(i=0;i<SIZE;i++)
printf("%d:%s  ",i,arr[i].name);
这样后面输入只要输入结构数组下标,就可以直接++,无需判断。
❺ c语言选票程序怎么编写,用while写法
首先需求分析:
投票人票数多少,一对一投或一对多。
由于你问题需求不明确,我按照投票人每人1票,只给1个候选人投票或弃权。
函数功能分三个,分别:
一、初始化(这个函数改成输入就是信息登记模块)。
二、投票函数(我用随机数实现投票过程)。
三、统计投票结果。
下面是代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define MCDE 5//候选人数量
#define MVR 100//投票人数量
typedef struct candidate
{
char name[20];//候选人名称
int vote;//得票数
}CDE;
typedef struct voter
{
char name[20];//投票人名称
int vote;//票数
}VTR;
void init(CDE **cdep,VTR **vtrp);//初始化候选人及投票人信息
void tp(CDE *cdes,VTR *vtrs);//开始投票(随机)
void tj(CDE *cdes,VTR *vtrs);//统计投票结果
int main()
{
CDE *cdes=NULL;
VTR *vtrs=NULL;
init(&cdes,&vtrs);
tp(cdes,vtrs);
tj(cdes,vtrs);
return 0;
}
void tj(CDE *cdes,VTR *vtrs)
{
int i=100,index,waiver=0,max=0,inxSave;
while(i>0)
{
index=MVR-i;
if(vtrs[index].vote==-1)
waiver++;
i--;
}
printf(" 共%d人参与投票,%d人弃权 ",MVR-waiver,waiver);
i=MCDE;
while(i>0)
{
index=MCDE-i;
printf("候选人%s得票%d张 ",cdes[index].name,cdes[index].vote);
if(max<cdes[index].vote)
max=cdes[index].vote,inxSave=index;
i--;
}
printf("得票最多的候选人为:%s,%d票 ",cdes[inxSave].name,cdes[inxSave].vote);
}
void tp(CDE *cdes,VTR *vtrs)
{
int i=MVR,index,n,n2;
srand(time(NULL));
while(i>0)
{
index=MVR-i;
if(vtrs[index].vote>0)
{
n=rand()%MCDE;//随机0~MCDE-1,给对应候选人投票
n2=rand()%2;//随机0~1,1投票,0弃权
if(n2)
{
printf("%s给候选人:%s投了%d票 ",vtrs[index].name,cdes[n].name,vtrs[index].vote);
cdes[n].vote+=vtrs[index].vote;
vtrs[index].vote=0;
}
else
{
printf("%s选择弃权 ",vtrs[index].name);
vtrs[index].vote=-1;
}
}
i--;
}
}
void init(CDE **cdep,VTR **vtrp)
{
static CDE cdes[MCDE]={{"小王",0},{"小陈",0},{"小李",0},{"小丽",0},{"小艾",0}};
static VTR vtrs[MVR];
int i=MVR,index;
char strN[20];
while(i>0)
{
index=MVR-i;
strcpy(vtrs[index].name,"投票人");
itoa(index+1,strN,10);
strcat(vtrs[index].name,strN);
vtrs[index].vote=1;
i--;
}
*cdep=cdes,*vtrp=vtrs;
}
❻ 投票程序 C语言
#include<stdio.h>
#include<stdlib.h>
void max(int a,int b,int c);
int main(){
    int a=0,b=0,c=0;
    char Mr[3];
    int count;
    
    printf("请输入投票的次数:");
    scanf("%d",&count);
     
    while(count--){
    printf("请输入您的投票顺序:");
    for(int i=0;i<3;i++)
    {
            fflush(stdin); 
            scanf("%c",&Mr[i]);
    }
    
    if(Mr[0]=='a')
      a+=5;
      else if(Mr[0]=='b')
      b+=5;
      else if(Mr[0]=='c')
      c+=5;
    
    if(Mr[1]=='a')
      a+=3;
      else if(Mr[1]=='b')
      b+=3;
      else if(Mr[1]=='c')
      c+=3;
      
     if(Mr[2]=='a')
      a+=2;
      else if(Mr[2]=='b')
      b+=2;
      else if(Mr[2]=='c')
      c+=2; }
      
      max(a,b,c);
      system("pause");
      }
void max(int a,int b,int c){
            int temp;
            if(a>b) temp=a;
            else    temp=b;
            
            if(temp>c)
              {
                     if(temp==a)
                     printf("足球先生是:a\n");
                     else printf("足球先生是:b\n");
              } 
            else printf("足球先生是:c\n");
            } 
每输入一个字符以回车结束。
解题思想不如楼上,但楼上的有错误,解决办法是在do--while 循环中的scanf语句之前加上fflush(stdin); 
输入字符是也是每个字符均以回车结束,而不是“中间用空格间隔”。
❼ c语言的投票程序如何设计
给你写一个:
#include<stdio.h>
#define M 100 //投票人数上限
#define N 3   //候选人数
struct
{
  char code;  //代号
  int score;  //得分
} candidates[N], st;  //候选人结构体数组
int main()
{
  char candidate[M][N]; //投票
  int n, c=0;  //n: 实际投票人数,c: 有效选票
  int i,j,k,t;
  char tmp[N+1];  //存放投票的中间变量
  int s[N]={5,3,2};
  for(i=0; i<N; ++i)
  {
    printf("输入第 %d 个候选人的代号:", i+1);
    scanf("%c", &candidates[i].code);
 fflush(stdin); //清除回车符
    candidates[i].score=0;
  }
  printf("输入投票人数:");
  scanf("%d",&n);
  for(i=0; i<n; ++i) //输入选票
  {
    printf("输入第 %d 张选票:", i+1);
    scanf("%s",tmp);
 candidate[i][0]=tmp[0];
 candidate[i][1]=tmp[1];
 candidate[i][2]=tmp[2];
    if(tmp[0]==tmp[1] || tmp[1]==tmp[2] || tmp[0]==tmp[2])
      printf("该票无效:%s\n", tmp);
    else
 {
      //tmp[0]号候选人加5分;
      //tmp[1]号候选人加3分;
      //tmp[2]号候选人加2分;
      c++;
      for(j=0; j<N; ++j)
  for(k=0; k<N; ++k)
   if(candidates[k].code==tmp[j])
    candidates[k].score+=s[j];
    }
  }
  //得分排序
  for(i=0; i<N-1; ++i)
  {
    k=i;
 for(j=i+1; j<N; ++j)
  if(candidates[j].score>candidates[k].score)
   k=j;
    st=candidates[i];
 candidates[i]=candidates[k];
 candidates[k]=st;
  }
  if(candidates[0].score==candidates[1].score)
    printf("前两名得分是否相同,都是 %d 分,重新投票。", candidates[0].score);
  else
  {
    printf("候选人\t得分\n");  
    for(i=0; i<N; ++i)
      printf("%c\t%d\n", candidates[i].code, candidates[i].score); 
    printf("祝贺 %c 当选冠军!\n", candidates[0].code);  
  }
  return 0;
}
❽ C语言经典候选人投票问题
......
//#if(1)
int m=0;
for (i = 1; i < 3; i++)
{
if (leader[m].count < leader[i].count)
m=i;
}
printf("得票最多的是:%s\n", leader[m].name);
//#endif
return 0;
}
