码迷,mamicode.com
首页 > 其他好文 > 详细

从小到大输出不可重排列

时间:2020-04-19 11:17:31      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:print   sign   int   span   clu   include   ++   输出   can   

问题描述: 

 技术图片

代码示例:

 1 //从小到大不可重排列
 2 #include<stdio.h>
 3 int A[20];
 4 int n;
 5 void permutation(int n,int *a,int cur)
 6 {
 7     if(cur==n)     //如果游标到了最后,输出即可
 8     {
 9         for(int i=0;i<n;i++) printf("%-3d",a[i]);
10         printf("\n");
11         return;
12     }
13     else
14     {
15         for(int i=1;i<=n;i++)
16         {
17             int sign=1;
18             for(int j=0;j<cur;j++)
19             {
20                 if(a[j]==i)
21                 {
22                     sign=0;
23                     break;
24                 }
25             }
26             if(sign)
27             {
28                 a[cur]=i;
29                 permutation(n,a,cur+1);
30             }
31         }
32     }
33 }
34 int main()
35 {
36     
37     while(scanf("%d",&n)==1)
38     permutation(n,A,0);
39     return 0;
40 }

运行结果:
技术图片

 

从小到大输出不可重排列

标签:print   sign   int   span   clu   include   ++   输出   can   

原文地址:https://www.cnblogs.com/bboykaku/p/12730339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!