聊到C语言足球比赛两支队伍怎么随机比分,我们应该都熟悉,有人想问abcdef六个足球队进行单循环比赛,每两个队之间,这究竟是咋回事?让朋友们一起来了解吧。
重新描述:
共N队,分为M组,每组K队。所以M*K等于N。
每组有2个种子队,共有2*M个种子队。
每个队有4个属性:
(1)所属洲
(2)是否种子队
(3)赛前排名(仅用于分组)
(4)小组赛积分
#include stdio.h
#define N 32
#define M 8
#define K (N/M)
char bisai[M][K][K];//共M组,每组K对两两比赛,对角线下区域记录3或1或0
//队结构
typedef struct _duiStruct{
char zhou;//所属洲,值为1 2 3 4 5
char isZhongzi;//是否种子队 1是 0非
int paiming;//赛前排名(仅用于分组)
int score;//小组赛积分
}duiStruct;
duiStruct dui[32];
void yilun(){
}
int main()
{
//给N个对随机生成洲号,赛前排名
//赛前排名前2*M的,分配到M组中
//其余的,分配到M组中
for(i=1; i=K; i++)
yilun();
return 0;
}
//代码如下
#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);
}
}
struct _team {
int 队名代号;
int 进球[6];
int 输球[6];
int 分数[6];
int 总积分;
int 进球数;
int 输球数;
int 净进球数;
} team[6];
例如 1 2比赛 分为2 1
则记录
team[0].进球[1] = 2;
team[0].输球[1] = 1;
team[0].分数[1] = 3;
全部输入好了计算好总积分 进球数 输球数 净进球数
再对总积分排序,输出
算法可以这样来想:
1.申请一个数组Team[8];
2.A队有7场比赛(额..是循环赛吗?),输入每场的比赛结果(可以假设胜为1,负为-1).
3.读入数据,用一个选择或是if语句来判断,是1则Team[0]+=3,是0则不做操作.
4.依3之例,依次读入余下6场比赛的结果并处理.
5.依(2,3,4)之例,处理余下7只队伍的比赛结果.
6.为数组Team排序,输出结果.
算法可以这样来想:
1.申请一个数组Team[8];
2.A队有7场比赛(额..是循环赛吗?),输入每场的比赛结果(可以假设胜为1,负为-1).
3.读入数据,用一个选择或是if语句来判断,是1则Team[0]+=3,是0则不做操作.
4.依3之例,依次读入余下6场比赛的结果并处理.
5.依(2,3,4)之例,处理余下7只队伍的比赛结果.
6.为数组Team排序,输出结果.