#include
<
stdio.h
>
void permulate( int * in , int * status, int * out , int pos)
... {
int i=0;
if (pos == 5) ...{
for (i=0;i<5;i++) ...{
printf("%d ", out[i]);
}
printf(" ");
}
for (i=0;i<5;i++) ...{
if (!status[i]) ...{
out[pos]=in[i];
status[i]=1;
permulate(in, status, out, pos+1);
status[i]=0;
}
}
}
void main( void )
... {
int in[5]=...{1,2,3,4,5};
int status[5]=...{0,0,0,0,0};
int out[5]=...{0,0,0,0,0};
permulate(in,status,out,0);
}
void permulate( int * in , int * status, int * out , int pos)
... {
int i=0;
if (pos == 5) ...{
for (i=0;i<5;i++) ...{
printf("%d ", out[i]);
}
printf(" ");
}
for (i=0;i<5;i++) ...{
if (!status[i]) ...{
out[pos]=in[i];
status[i]=1;
permulate(in, status, out, pos+1);
status[i]=0;
}
}
}
void main( void )
... {
int in[5]=...{1,2,3,4,5};
int status[5]=...{0,0,0,0,0};
int out[5]=...{0,0,0,0,0};
permulate(in,status,out,0);
}