有一道c语言编程的题目,请高手帮忙看看。这么做有什么问题啊??

设有代号为a、b、c的三个足球先生候选人,根据投票者对他们编号的填写顺序分别计分为5、3、2。请编程从键盘上输入投票人数及投票结果,统计他们的分数,并输出那位当选足球先生... 设有代号为a、b、c的三个足球先生候选人,根据投票者对他们编号的填写顺序分别计分为5、3、2。请编程从键盘上输入投票人数及投票结果,统计他们的分数,并输出那位当选足球先生。注意:若同一张票上有两个相同的代号,则显示出“此票无效”,若最终前两名得分相同则应显示“重新投票”,否则显示“祝贺某某当选足球先生!”
例如:
投票人数:5
a b c
c a b
c a a 该票无效!
c b a
b c a
三位候选人得分为:
a:12
b:13
c: 15
祝贺C当选足球先生。
main()
{
int i,num,x=0,y=0,z=0;
char k[3];
int fenshu(char x,char y[3]);
printf("\n xuan ju ren shu: ");
scanf("%d",&num);
printf("\n xuan piao xin xi:\n");
for(i=0;i<num;i++)
{scanf("%s",k);
if(k[0]==k[1]||k[1]==k[2]||k[0]==k[2])
printf("wu xiao piao!\n");
else
{x=x+fenshu('a',k);
y=y+fenshu('b',k);
z=z+fenshu('c',k);
}
}
printf("\n The three candidates who score :\na: %d\nb: %d\nc: %d\n",x,y,z);
if(x==y&&x>z)printf("\n a b piao yi yang duo, chong xin xuan ju!\n");
if(x==z&&x>y)printf("\n a c piao yi yang duo, chong xin xuan ju!\n");
if(y==z&&y>x)printf("\n b c piao yi yang duo, chong xin xuan ju!\n");
if(x==y&&x==z)printf("\n a b c piao xiang tong ,chong xin xuan ju!\n");
if(x>y&&x>z)printf("\n a shi zu qiu xian sheng!\n");
if(y>x&&y>z)printf("\n b shi zu qiu xian sheng!\n");
if(z>x&&z>y)printf("\n c shi zu qiu xian sheng!\n");
}
Fenshu(char x,char y[3])
{int m;
if(x==y[0]) m=5;
if(x==y[1]) m=3;
if(x==y[2]) m=2;
return(m);
}
展开
 我来答
百度网友28b4182
2012-02-16 · TA获得超过7224个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:2238万
展开全部
1.txt里面的内容
4
a b c
b a c
c a b
a b c

#include<stdio.h>

struct
{
char tick[3];
}m[100][4];

int main()
{

int x,j,i,a2=0,b2=0,c2=0; //x投票人数 a b c分别代表三个候选人 a2 b2 c2分别是他们的得分
int max;
char w;
bool ok[100]={false};
int score[3]={5,3,2};
freopen("D:\\1.txt","r",stdin);
freopen("D:\\2.txt","w",stdout);
puts("请输入投票人数");
scanf("%d",&x);
//cout<<"请参加投票的人开始投票"<<endl;
puts("请参加投票的人开始投票");
for(i=0;i<x;i++)
{
//cout<<"第"<<i+1<<"个:";
printf("第%d个",i+1);
puts("");
for(j=0;j<3;j++)
{
scanf("%s",m[i][j].tick);

}

}
for(i=0;i<x;i++)
{
if(m[i][0].tick[0]==m[i][1].tick[0]
||m[i][0].tick[0]==m[i][2].tick[0]
||m[i][1].tick[0]==m[i][2].tick[0])
{

//cout<<"第"<<i+1<<"张票无效";
printf("第%d张票无效",i+1);
puts("");
ok[i]=false;
}
else
{
ok[i]=true;
}
}
for(i=0;i<x;i++)
{
if(!ok[i])continue;
for(j=0;j<3;j++)
{
if(m[i][j].tick[0]=='a')
{
a2+=score[j];
}
else if(m[i][j].tick[0]=='b')
{
b2+=score[j];
}
else
{
c2+=score[j];
}
}
}
printf("a得分:%d\n",a2);
printf("b得分:%d\n",b2);
printf("c得分:%d\n",c2);

max=a2;
w='a';
if(max<b2) {max=b2; w='b';}
if(max<c2) {max=c2; w='c';}
int cnt=(max==a2)+(max==b2)+(max==c2);
if(cnt>1)
{
puts("重新投票");
}
else
{
printf("祝贺%c当选冠军!\n",w);
}
return 0;
}
wubinabcde
2012-02-16 · TA获得超过259个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:154万
展开全部
#include <stdio.h>
main()
{
int i,num,x=0,y=0,z=0;
char k[3];
int fenshu(char x,char y[3]);
printf("\n xuan ju ren shu: ");
scanf("%d",&num);
printf("\n xuan piao xin xi:\n");
for(i=0;i<num;i++)
{scanf("%s",k);
if(k[0]==k[1]||k[1]==k[2]||k[0]==k[2])
printf("wu xiao piao!\n");
else
{x=x+fenshu('a',k);
y=y+fenshu('b',k);
z=z+fenshu('c',k);
}
}
printf("\n The three candidates who score :\na: %d\nb: %d\nc: %d\n",x,y,z);
if(x==y&&x>z)printf("\n a b piao yi yang duo, chong xin xuan ju!\n");
if(x==z&&x>y)printf("\n a c piao yi yang duo, chong xin xuan ju!\n");
if(y==z&&y>x)printf("\n b c piao yi yang duo, chong xin xuan ju!\n");
if(x==y&&x==z)printf("\n a b c piao xiang tong ,chong xin xuan ju!\n");
if(x>y&&x>z)printf("\n a shi zu qiu xian sheng!\n");
if(y>x&&y>z)printf("\n b shi zu qiu xian sheng!\n");
if(z>x&&z>y)printf("\n c shi zu qiu xian sheng!\n");
}
fenshu(char x,char y[3])//就是这里有问题 函数名要小写,C++是大小写敏感的
{int m;
if(x==y[0]) m=5;
if(x==y[1]) m=3;
if(x==y[2]) m=2;
return(m);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-26
展开全部
fenshu(char x,char y[3])//就是这里有问题 函数名要小写,C++是大小写敏感的
{int m;
if(x==y[0]) m=5;
if(x==y[1]) m=3;
if(x==y[2]) m=2;
return(m);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qjk313
2012-02-17 · 超过13用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:41.3万
展开全部
看二楼的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7521293
2012-02-17
知道答主
回答量:33
采纳率:100%
帮助的人:7.6万
展开全部
二楼
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式