Normalmente usa-se pilha para resolver este problema.
Por exemplo, com os valores que você deu você cria 5 pilhas e coloca
em todas elas as letras A, B, C, D, E.
Daí você começa esvaziando a quinta pilha, imprimindo o elemento que está sendo removido e o topo das outras pilhas. Quando uma pilha estiver totalmente vazia, você vai para a anterior, remove um elemento, e volta para as próximas, enche elas novamente e repete o processo novamente.
Fazendo isso, até que a pilha 1 seja totalmente esvaziada, você terá todas as combinações possíveis de 5 elementos.