急!!!看过来:要求用C语言编程实现一个足球比赛问题! 20
某小组8个队足球比赛完毕,所有比赛结果均有记录,设在两队之间只赛了1场,且比赛没有平局,胜队得3分,负队得0分,编程输出该小组名次顺序。规则是首先看积分,积分相同看净胜球...
某小组8个队足球比赛完毕,所有比赛结果均有记录,设在两队之间只赛了1场,且比赛没有平局,胜队得3分,负队得0分,编程输出该小组名次顺序。规则是首先看积分,积分相同看净胜球数,以后依次为进球数、两队之间的比赛结果。为了简化问题,设通过以上比赛肯定能得出排名顺序。
展开
2个回答
展开全部
算法可以这样来想:
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排序,输出结果.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设一结构,
我只写出了以积分求的次序。
#include <stdio.h>
#define N 5
struct team{
int fen;
int jin_shen_qiu;
int jin_qiu;
char shen_fu;/*win =w,lose =l*/
}t[N];
/*初始化球队成绩*/
void init(struct team t[N]){
int i;
for(i=0;i<N;i++){
printf("\nTeam %d ji fen: ",i+1);
scanf("%d",&t[i].fen);
/*printf("\nTeam %d jin_shen_qiu: ",i+1);
scanf("%d",&t[i].jin_shen_qiu);
printf("\nTeam %d jin qiu: ",i+1);
scanf("%d",&t[i].jin_qiu);
printf("\nTeam %d shen fu: ",i+1);
scanf("%c",&t[i].shen_fu); */
}
}
int sort(struct team t[N],int flag){
int i,j=0,max=0;
switch(flag){
case 1:
for(i=0;i<N;i++){
if(max<t[i].fen){
max=t[i].fen;
j=i;
}
}
return j;
case 2:
for(i=0;i<N;i++){
if(max<t[i].jin_shen_qiu){
max=t[i].jin_shen_qiu;
j=i;
}
}
return j;
case 3:
for(i=0;i<N;i++){
if(max<t[i].jin_qiu){
max=t[i].jin_qiu;
j=i;
}
}
return j;
case 4:
for(i=0;i<N;i++){
if(t[i].shen_fu=='w')
return i;
}
return 0;
}
}
main(){
int i,j,k=0;
init(t);
for(i=0;i<N;i++){
j=sort(t,1);
j++;
if(j){
printf("\nteam %d is %d.",j,i+1);
t[j-1].fen=0;
}
}
getch();
getchar();
}
我只写出了以积分求的次序。
#include <stdio.h>
#define N 5
struct team{
int fen;
int jin_shen_qiu;
int jin_qiu;
char shen_fu;/*win =w,lose =l*/
}t[N];
/*初始化球队成绩*/
void init(struct team t[N]){
int i;
for(i=0;i<N;i++){
printf("\nTeam %d ji fen: ",i+1);
scanf("%d",&t[i].fen);
/*printf("\nTeam %d jin_shen_qiu: ",i+1);
scanf("%d",&t[i].jin_shen_qiu);
printf("\nTeam %d jin qiu: ",i+1);
scanf("%d",&t[i].jin_qiu);
printf("\nTeam %d shen fu: ",i+1);
scanf("%c",&t[i].shen_fu); */
}
}
int sort(struct team t[N],int flag){
int i,j=0,max=0;
switch(flag){
case 1:
for(i=0;i<N;i++){
if(max<t[i].fen){
max=t[i].fen;
j=i;
}
}
return j;
case 2:
for(i=0;i<N;i++){
if(max<t[i].jin_shen_qiu){
max=t[i].jin_shen_qiu;
j=i;
}
}
return j;
case 3:
for(i=0;i<N;i++){
if(max<t[i].jin_qiu){
max=t[i].jin_qiu;
j=i;
}
}
return j;
case 4:
for(i=0;i<N;i++){
if(t[i].shen_fu=='w')
return i;
}
return 0;
}
}
main(){
int i,j,k=0;
init(t);
for(i=0;i<N;i++){
j=sort(t,1);
j++;
if(j){
printf("\nteam %d is %d.",j,i+1);
t[j-1].fen=0;
}
}
getch();
getchar();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询