#include
#define N 3
void aArrange(int a[],int j,int b)
{
int i,k;
int temp;
for(i=j;i {
temp=a[i];
a[i]=a[j];
a[j]=temp;
aArrange(a,j+1,b);
if(j==b-1)
{
for(k=0;k printf("%d",a[k]);
printf("\n");
}
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
main()
{
int a[N]={7,8,9};
aArrange(a,0,N);
}
采用递归的方法,用函数void find(int k)来存放第n个数,再用一个数组int pos[4]来表示每个位置上的数字。
#include
#define N 3
void aArrange(int a[],int j,int b)
{
int i,k;
int temp;
for(i=j;i {
temp=a[i];
a[i]=a[j];
a[j]=temp;
aArrange(a,j+1,b);
if(j==b-1)
{
for(k=0;k printf("%d",a[k]);
printf("\n");
}
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
main()
{
int a[N]={7,8,9};
aArrange(a,0,N);
}
void main()
{
int maxRow = 5; // 输出行数
int num = 1;
for(int i=0 ; i{
for(int j=0 ; j<=i; j++)
{
printf(num++);
printf("\t");
}
printf("\n");
}
}