parent
c813ceb0db
commit
caedd1e493
@ -0,0 +1,42 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
int ans[11];
|
||||
void f(char str[], int l0, int l) {
|
||||
if (l0 == l) {
|
||||
for (int i = 1; i <= ans[0]; i++) {
|
||||
printf("%c", str[ans[i]]);
|
||||
}
|
||||
printf("\n");
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < l0; i++) {
|
||||
int flag = 1;
|
||||
for (int j = 1; j <= ans[0]; j++) {
|
||||
if (i == ans[j]) {
|
||||
flag = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (flag == 1) {
|
||||
ans[++ans[0]] = i;
|
||||
f(str, l0, l + 1);
|
||||
ans[0]--;
|
||||
}
|
||||
}
|
||||
}
|
||||
void Cal(char* str)
|
||||
{
|
||||
int len = strlen(str);
|
||||
for (int i = 0; i < len - 1; i++) {
|
||||
for (int j = 0; j < len - 1 - i; j++) {
|
||||
int tmp;
|
||||
if (str[j] > str[j + 1]) {
|
||||
tmp = str[j];
|
||||
str[j] = str[j + 1];
|
||||
str[j + 1] = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
f(str, len, 0);
|
||||
}
|
Loading…
Reference in new issue