问题
问答题 案例分析题
阅读以下函数说明和C语言函数,将应填入____处的字句写在答题纸的对应栏内。
为参加网球比赛的选手安排比赛日程。设有n(n=2)位选手参加网球循环赛,循环赛共进行n-1天,每位选手要与其他n-1位选手赛一场,且每位选手每天赛一场,不轮空。试按此要求为比赛安排日程。设n位选手被顺序编号为1,2,…,n。比赛的日程表是一个n行n-1列的表,i行j列的内容是第i号选手第j天的比赛对手。用分治法设计日程表,就是从其中一半选手(2)的比赛日程,导出全体(2位)选手的比赛日程。从只有2位选手的比赛日程出发,反复这个过程,直到为n位选手安排好比赛日程为止。【C函数】
从下列的两道试题(试题五至试题六)中任选一道解答。如果解答的试题数超过一道,则题号小的一道解答有效。
答案
参考答案:
(1)m++
(2)twom+=2*twoml
(3)A[1][twoml]=twoml+1
(4)A[twom1][j]=a[1][j-1]
(5)A[a[i1][j]][j]=il
解析:分别有2位、4位、8位选手参加比赛时的日程表。若1~4号选手之间的比赛日程填在日程表的左上角(4行3列),5~8号选手之间的比赛日程可填在日程表的左下角(4行3列),而左下角的内容可由左上角对应项加上数4得到。至此剩下的右上角(4行4列)是为编号小的1~4号选手与编号大的5~8号选手之间的比赛安排日程。程序的思路是:由2位选手的比赛日程得到4位选手的比赛日程;依次得到8位选手的比赛日程。