作业帮 > 综合 > 作业

C++如何描述“屏幕输出1—9这九个数字所有排列组合”?1-n的所有排列组合输出怎么写?求代码,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 11:57:42
C++如何描述“屏幕输出1—9这九个数字所有排列组合”?1-n的所有排列组合输出怎么写?求代码,

 
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int ok(int list[],int k,int i)
{
 if(i>k) for (int t=k;t<i;t++)
  if (list[t]==list[i])
   return 0;
  return 1;
}
void perm(int list[],int k,int m)
{
 if(k==m) 
 {
  for(int i=0;i<=m;i++)
   cout<<list[i];
       cout<<endl;
 }
 else
       for (int i=k;i<=m;i++)
       {
     if (ok(list,k,i))
     {
      int t;
      t=list[k];list[k]=list[i];list[i]=t;
      perm(list,k+1,m);
      t=list[k];list[k]=list[i];list[i]=t;
     }
       }
}
void main()
{
 int n,i,str[10];
 cin>>n;
 for(i=1;i<=n;i++) str[i-1]=i;
 perm(str,0,n-1);
 system("pause");
}