#include "stdio.h"
#include"stdlib.h"
int count = 0;
int size(char *a)
{
int i=0;
while(a[i]!='/0'){
i++;
}
return i;
}
void deal(char *a, int m, int n)
{
int i;
char t;
if (m<n-1) {
deal(a, m+1, n);
for (i=m+1;i<n;i++) {
t=a[m]; a[m]=a[i]; a[i]=t;
deal(a, m+1, n);
t=a[m]; a[m]=a[i]; a[i]=t;
}
} else
{
count++;
printf("%s/t",a);
}
}
void main()
{
int i;
char *a;
a = (char *) malloc(sizeof(char));
printf("input a string:(Enter to stop)");
gets(a);
i=size(a);
deal(a,0,i);
printf("%d/n",count);
}
#include"stdlib.h"
int count = 0;
int size(char *a)
{
int i=0;
while(a[i]!='/0'){
i++;
}
return i;
}
void deal(char *a, int m, int n)
{
int i;
char t;
if (m<n-1) {
deal(a, m+1, n);
for (i=m+1;i<n;i++) {
t=a[m]; a[m]=a[i]; a[i]=t;
deal(a, m+1, n);
t=a[m]; a[m]=a[i]; a[i]=t;
}
} else
{
count++;
printf("%s/t",a);
}
}
void main()
{
int i;
char *a;
a = (char *) malloc(sizeof(char));
printf("input a string:(Enter to stop)");
gets(a);
i=size(a);
deal(a,0,i);
printf("%d/n",count);
}