c语言难题,求大虾解答!

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:16:37
有n名选手的乒乓球循环比赛,代号分别为1到n,其中n=2^m,现要设计一个满足以下条件的比赛日程表:
(1)每名选手要与其他n-1名选手都进行一次比赛
(2)每名选手每天只赛一次
(3)整个比赛共进行n-1天,有求每天没有选手轮空
键盘输入:选手人数n(n<=100)
屏幕输出:n*n阵列的比赛安排表,每行第一个数字为1到n名选手的代号,后面有‘.’坐标注,其余分别为每名选手在第一天到第n-1天的比赛对手
样例输入:4
样例输出:
1. 2 3 4
2. 1 4 3
3. 4 1 2
4. 3 2 1

具体意思不是很明白,m没有给出.
#include<iostream>
using namespace std;
int main()
{
int np;
cout<<"输入选手人数:"<<endl;
cin>>np;
for(int i=1;i<=np;i++)
{
cout<<i<<".";
for(int j=1;j<=np;j++)
{

if(j!=i)
{
cout<<j<<" ";
}

}
cout<<endl;
}
system("pause");
return 0;
}