#include<stdio.h>
int n;
int a[100];
int main()
{
void print();
void pai(int m);
int i;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
a[i]=i;
}
pai(1);
printf("\n");
}
return 0;
}
void pai(int m)
{
void print();
void change(int i,int j);
int i;
if(m==n)
{ printf("(");
print();
printf("%d)",a[n]);
return;
}
for(i=m;i<=n;i++)
{
change(i,m);
pai(m+1);
change(i,m);
}
}
void change(int i,int j)
{
int t;
t=a[i];
a[i]=a[j];
a[j]=t;
}
void print()
{
int i;
for(i=1;i<n;i++)
{
printf("%d, ",a[i]);
}
}
我的代码3以后顺序就有问题,请问该怎么改
输出格式是(1,2,3)(1,3,2)这样的