题库 NOIP CSP-J/S信奥赛&&CCF编程能力认证 题目列表 (全排列)下面程序的功能是利用递归方法生成从 ...
填空题
(全排列)下面程序的功能是利用递归方法生成从 1 到 n(n<10)的 n 个数的全部可能的排列(不
一 定按升序输出)。例如,输入 3,则应该输出(每行输出 5 个排列):
123 132 213 231 321
312
程序:
#include <iostream.h>
#include <iomanip.h>
int n,a[10]; // a[1],a[2],…,a[n]构成 n 个数的一个排列
long count=0; // 变量 count 记录不同排列的个数,这里用于控制换行
void perm(int k)
{int j,p,t;
if( ① )
  {count++;
   for(p=1;p<=n;p++)
 cout <<setw(1)<<a[p];
 cout <<" ";
 if( ② ) cout <<endl;
return;
  }
for(j=k;j<=n;j++)
  {t=a[k];a[k]=a[j];a[j]=t;
③ ;
  t=a[k]; ④ ;
  }
}
void main()
{int i;
  cout <<"Entry n:"<<endl;
  cin >>n;
  for(i=1;i<=n;i++) a[i]=i;
⑤ ;
}


题目信息
普及组 初赛 2006年
-
正确率
0
评论
212
点击