#include <stdio.h>
int t[7];
char s[7];int n = 0;void permutation(int i)
{ int k;// a~z的ASCII码在97到122之间
for(k = 97; k < 123; k++) { if(t[k]) { t[s[i] = k]--; permutation(i + 1); t[k]++; } }// 只有n个字母全部排好了才输出
n - i || puts(s);}int main()
{ int i;puts("Please Input letter sequence: ");
gets(s);// t[]记录每个字母的出现频率
// n为待排序列的长度 for(i = 0; s[i] != '\0'; i++) { t[s[i]]++; n++; }puts("排列 result: ");
permutation(0);return 0;
}