枚举 字典序输出
#include<stdio.h>
void print(int n,int* A,int cur)//cur作为边界,n作为范围
{
if(cur==n)
{
for(int i=0;i<n;i++)
printf("%d",A[i]);
printf("\n");
}
else
{
for(int i=1;i<n+1;i++)
{
int ok=1;
for(int j=0;j<cur;j++)
{
if(A[j]==i)ok=0;
}
if(ok)
{
A[cur]=i;
print(n,A,cur+1);
}
}
}
}
int main()
{
int n,A[10000],cur;
scanf("%d",&n);
print(n,A,0);
return 0;
}