当我们交流6支足球队进行单循环比赛每场比赛胜者得3分,大家可能都了解,有人想问六个足球队进行单循环比赛,每两队都要赛一场,这到底是咋回事?一起来看看吧。
每轮赛3场,最多产生3*3=9分,四轮最多4*9=36分.现在有4场踢成平局,每平一场少1分,所以总分为. 36-4*1=32
前三名得分的和至少为7+8+9=24所以后三名的得分的和至多为32-24=8
第5名如果得4分,则后三名的得分的和至少为4+5=9,
这不可能,所以第5名最多得3分
//代码如下
#includestdio.h
struct Team//设计一个team型的结构体,其中记录胜平负
{
char teamname[10];
int win;
int draw;
int lose;
int totalscore;
};
void main()//主函数开始
{
Team teams[6],temp;
int i,j;
for(i=0;i6;i++)//输入队名和胜平负情况,计算总分
{
printf("请输入第%d队的队名:",i+1);
scanf("%s",teams[i].teamname);
printf("请输入第%d支队伍的胜平负情况:",i+1);
scanf("%d %d %d",teams[i].win,teams[i].draw,teams[i].lose);
teams[i].totalscore=teams[i].win*3+teams[i].draw;
}
for(i=0;i6;i++)//根据总分进行比较
{
for(j=1;j6-i;j++)
{
if(teams[j].totalscoreteams[i].totalscore)
{
temp=teams[j];
teams[j]=teams[i];
teams[i]=temp;
}
else if(teams[j].totalscore==teams[i].totalscore)//总分相同根据胜场进行比较
{
if(teams[j].winteams[i].win)
{
temp=teams[j];
teams[j]=teams[i];
teams[i]=temp;
}
else if(teams[j].win==teams[i].win)//胜场相同根据平局多少比较
{
if(teams[j].winteams[i].win)
{
temp=teams[j];
teams[j]=teams[i];
teams[i]=temp;
}
}
}
}
}
printf("\t\t队伍排名如下\n");//输出队伍名次
printf(" 排名\t 队名\t胜局数\t平局数\t输局数\t总分\n");
for(i=0;i6;i++)
{
printf(" 第%d名\t%s\t%d\t%d\t%d\t%d\n",i+1,teams[i].teamname,teams[i].win,teams[i].draw,teams[i].lose,teams[i].totalscore);
}
}
1,比分数,2,分数相同比相互间胜关系,3如分相同数相同,相互间比赛为平局,那就比净胜球数,4,如前三者均相同,则比总进球数,5。如果都相同(一般不会有),打附加赛。
(1)每支球队赛5场,全胜得分最多:
5×3=15(分)
最少得分就是全输得0分:
答:各队总分之和最多是15分,最少是0分.
(2)6×5÷2=15(场)
6×2+(15-6)×3
=12+27
=39(分)
答:那么各队总分之和是39分.
1)每场比赛有胜负的话,两队总分是3分,平局的话,总分就是2分,一共会有6*5/2=15场比赛,所以更高是45分,更低是30分
2)6场平局,就是9场有胜负,所以总分是6*2+9*3=39分