Permutaciones en C Shrap

Tengo que escribir un programa que tiene que generar todas las palabras posibles de un conjunto determinado de letras.

Teniendo en cuenta la palabra "abc", el programa debe - mediante la exploración de todas las diferentes permutaciones de las tres letras - Salida de las palabras "abc", "acb", "bac", "bca", "cab" y "cba". Algunas letras pueden aparecer más de una vez.

Por una palabra dada, el programa no debería producir la misma palabra más de una vez, y las palabras deben ser la salida en orden alfabético ascendente.

Es decir si yo ingreso la cadena "abc" el resultado tiene que ser:

abc
acb
bac
bca
cab
cba

Si ingreso "acaba" el resultado tiene que ser:

aabc
aacb
abac
abca
acab
acba
baac
baca
bcaa
caab
caba
cbaa

He intentado de varias formas pero no he podido...

Añade tu respuesta

Haz clic para o