#include<stdio.h>
#define N 5
int cont=1 ;
void test(int str[],int n)
{
int i,j,m,a=0,b[5];
for(i=0;i<n;i++)
{
m=0 ;
for(j=i;j<n;j++)
if(str[i]>str[j])b[m++]=str[j];
}
i=0 ;
while(i<n)
{
if(str[i]==i+1)
{
a=1;
}
i++;
}
if(a==0)
{
printf(" 第%2d种情况:",cont++);
for(i=0;i<n;i++)
printf("%d",str[i]);
printf("\n");
}
}
void perm(int str[],int k,int n)
{
int i,temp ;
if(k==n-1)
{
test(str,n);
}
else
{
for(i=k;i<n;i++)
{
temp=str[k];
str[k]=str[i];
str[i]=temp ;
perm(str,k+1,n);
temp=str[i];
str[i]=str[k];
str[k]=temp ;
}
}
}
int main()
{
int str[N],i ;
for(i=0;i<N;i++)str[i]=i+1 ;
printf("各种情况:\n");
perm(str,0,N);
printf("\n");
return(0);
}
/*不知道楼主是这个意思*/
倚天照海花无数,流水高山心自知。