题库 信息学奥赛题库 题目列表 NOIP2006年第十二届普及组初赛完善程序:(全排列)下...
填空题

NOIP2006年第十二届普及组初赛完善程序:(全排列)下面程序的功能是利用递归方法生成从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
评论
109
点击