C语言编程问题,哪位大神会做的帮帮忙,感谢!

某选举活动有五位候选人(用一个字符串数组记录候选人的名字),投票工作室在选票上标记出某位候选人的编号(1~5)即可。编写程序,使用数组变量count读取选票并计算每位候选... 某选举活动有五位候选人(用一个字符串数组记录候选人的名字),投票工作室在选票上标记出某位候选人的编号(1~5)即可。编写程序,使用数组变量count读取选票并计算每位候选人的得票数(当输入0时,表示输入结束)。条件:如果所读取数不在1~5的范围内,该选票被视为“废票”;若没有候选人超过总投票数的半数,则选举无效。
(1)输出每个人的姓名和得票数,和废票总数。
(2)若选举有效,票数最多的候选人当选,输出当选人的名字。
输出格式如下:
The 5 candidates are:
Candidate 1: Tom
Candidate 2:Jack
Candidate 3: Mike
Candidate 4: Dipsy
Candidate 5: Ella
Please input the vote:(Input 0 to end)
1 2 2 4 2 3 1 5 2 2 6 2 2 3 1 2 2 1 2 2 0 /* Blue is input */
Candidate 1: TomBallot: 4
Candidate 2:JackBallot: 11
Candidate 3: MikeBallot: 2
Candidate 4: DipsyBallot: 1
Candidate 5: EllaBallot: 1
Invalid ballot: 1
The eledt is candidate 2: Jack!
运行之后如果是对的,希望有大神能够帮帮忙啦。。
展开
 我来答
物理公司的
2017-10-11 · TA获得超过5697个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1381万
展开全部
#include <stdio.h>  
struct Person             //声明结构体  
{  
    char name[20];  
    int count;  
}leader[3]={"li",0,"zhang",0,"sun",0};   //定义结构体数组并初值化  
int main()  
{  
    int i,j;  
    char leader_name[20];     //定义字符数组  
    printf("请输入候选人名字:li,zhang,sun\n");  
    for(i=0;i<10;i++)  
    {  
        scanf("%s",leader_name);   //选民输入候选人名字  
        for(j=0;j<3;j++)  
        {  
            if(strcmp(leader_name,leader[j].name)==0)    //如果名字对应,则该名字加1  
                leader[j].count++;  
        }  
    }  
    printf("\n最终投票结果为:\n");  
    for(i=0;i<3;i++)  
    {  
        printf("%13s:%d\n",leader[i].name,leader[i].count);  
    }  
    return 0;  
}
追问
”如果名字对应“那行出错了窝。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式