• 大小: 0.08M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: C#
  • 标签: c#  

资源简介


1. 问题描述: 说明:设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能赛一次; (3)循环赛一共进行n-1天。 设计要求:请使用C语言编程,设计一个有效的算法解决循环赛日程表问题。 设计提示:按分治策略,将所有的选手分为两半,n个选手的比赛日程表就可以通过为n/2个选手设计的比赛日程表来决定。递归地用对选手进行分割,直到只剩下2个选手时,比赛日程表的制定就变得很简单。这时只要让这2个选手进行比赛就可以了。

资源截图

代码片段和文件信息

#include “stdio.h“
#include “conio.h“

int a[100][100]={0}; /*数组a为全局变量*/
int b[100]={0};
int main()
{

  int ijntk;
  
  printf(“please input the number:“);
  scanf(“%d“&n);

  tournament(n);           /*调用函数*/

 if(n%2==0&&n>1)            /*n为偶数的输出日程表*/
{ printf(“\n the table is:\n“);

    for(t=1;t     {b[t]=t;
      if(t==1){
          printf(“\n      日期:%d“b[t]);

      }
      else{
      printf(“%5d“b[t]); 
      }
     }
      printf(“\n“);
   for(k=0;k   printf(“========“);
   }
   printf(“\n“);
   printf(“选手 |\n“);
   getch();

  for(i=0;i  {
  for(j=0;j  {
  printf(“%5d“a[i][j]);
  if(j==0)
      printf(“|“);
  }
   printf(“\n“);
   for(k=0;k   printf(“=======“);
   }
   printf(“\n“);
 
  }

  getch();
}

if(n%2==1&&n>1)              /*n为奇数的输出日程表*/
{ printf(“\n the table is:\n“);

    for(t=1;t     {b[t]=t;
      if(t==1){
          printf(“\n      日期:%

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2471  2010-07-13 22:11  循环赛日程表\xunhuaisai1.c

     文件      45292  2010-07-13 22:22  循环赛日程表\未命名.jpg

     文件      45188  2010-07-13 22:22  循环赛日程表\未命名1.jpg

    ..A.SH.     11776  2010-07-13 22:24  循环赛日程表\Thumbs.db

     文件     142336  2010-09-03 22:27  循环赛日程表\循环赛日程表.doc

     目录          0  2010-09-03 22:27  循环赛日程表

----------- ---------  ---------- -----  ----

               247063                    6


评论

共有 条评论