各位高人,帮我一个小忙,编个程序吧

来源:百度知道 编辑:UC知道 时间:2024/06/28 08:03:05
[要求]
设有代号为'a','b','c'的三个足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分5,3,2。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。注意:若同一张票上写有两个相同的代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则显示三个候选者得分并输出“祝贺X当选冠军!”。
例如:投票人数:5
输出投票内容:
a b c
c a b
c a a 该票无效!
c b a
b c a
三位候选人得分:
a: 12
b: 13
c: 15
祝贺c当选冠军!
[提示]
数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向对应各候选人得分。

#include<stdio.h>
#include<string.h>
typedef struct _member
{
char dh;
int df;
}MEMBER;
int main()
{
int i,j,cnt,max;
char tmp[100][10];
MEMBER mber[3];
while(1)
{
mber[0].dh='a'; mber[0].df=0;
mber[1].dh='b'; mber[1].df=0;
mber[2].dh='c'; mber[2].df=0;
printf("请输入投票人数:");
scanf("%d",&cnt);
printf("请输入投票内容:\n");
getchar();
for(i=0;i<cnt;i++)
gets(tmp[i]);
printf("输出投票结果如下:\n");
for(i=0;i<cnt;i++)
{
printf("%s",tmp[i]);
if(tmp[i][0]==tmp[i][2]||tmp[i][0]==tmp[i][4]||tmp[i][2]==tmp[i][4])
{
printf("该票无效!\n&