#include <stdio.h>
#define SIZE 10
void Swap(int *,int *); /*阶乘函数*/
long Mul(int n); /*交换函数*/
int main(void){
int col[SIZE];
int i,j,m,n,t;
int r;
printf ("输入要排列的个数\n");
scanf("%d",&r);
printf ("输入要排列的数字\n");
for (i=0;i<r;i++)
scanf ("%d",&col[i]);
printf("Out:\n");
i=0;
n=r-1;
m=0;
t=1;
j=1;
while(t<=r){
for(i=0;i<Mul(r-1);i++){
printf("%d",col[0]);
for(j=1;j<r;j++)
printf ("%d",col[j]);
printf ("\n");
Swap(&col[n-1],&col[n]);
n--;
if(n==1)
n=r-1;
}
if(r!=2)
Swap(&col[m],&col[m+t]);
t++;
}
return 0;
}
/*阶乘函数*/
long Mul(int n){
long temp;
for (temp=1;n>=1;n--)
temp*=n;
return temp;
}
/*交换函数*/
void Swap(int *ptr,int *poi){
char temp;
temp=*ptr;
*ptr=*poi;
*poi=temp;
return ;
}
由于工作,N久都没来了!