este es codigo en C de ms-dos para las torres de Hanoi.
Espero que te sea útil:
/* Torres de Hanoi.
El disco 1 es el mas pequeño, el 2 el que sigue, ..., el disco n es
el mas grande*/
#include <stdio.h>
void torres(int,char,char,char);
void main(){
int n; /* n = cantidada de discos */
printf("Ingrese la cantidad de discos que tiene la torre A: ");
scanf("%d", &n);
torres(n,'A','B','C'); /* A=torre de origen, C=torre auxiliar,
B=torre de destino*/
}
void torres(int n, char origen, char destino, char aux){
if(n==1){
printf("n%s %c %s %c", "mover disco 1 desde la torre ", origen,
"a la torre ", destino);
return;
}
torres(n-1,origen,aux,destino);
printf("n%s %d %s %c %s %c", "mover disco",n,"desde la torre ", origen,
"a la torre ",destino);
torres(n-1,aux,destino,origen);
}