Código
/* Se despliegan los factoriales de los numeros del 0 al 10, se utiliza la recursividad para calcularlos */ #include <stdio.h> /* Prototipo de funcion */ long calculaFactorial( long numero ); void muestraLlamadasRecursivas( long numero ); /* Inicia la ejecucion del programa */ int main() { int i; /* Contador */ /* Repite 11 veces; durante cada iteracion calcula el factorial de i y lo despliega en pantalla */ for ( i = 0; i <= 10; i++ ) { muestraLlamadasRecursivas( i ); /* Llamamos a la funcion que imprime las llamadas a funcion */ } return 0; /* Terminacion exitosa */ } /* Fin de main */ /* Definicion recursiva de la funcion factorial */ long calculaFactorial( long numero ) { /* Caso base */ if ( numero <= 1 ) { return 1; } /* Fin de if */ else { /* Paso recursivo o llamada recursiva */ return ( numero * calculaFactorial( numero - 1 ) ); } /* Fin de else */ } /* Fin de la funcion factorial */ void muestraLlamadasRecursivas( long numero ) { static int contadorEspacios = 1; /* es static para que el valor no se destruya entre las llamadas recursivas a funcion */ int contador = contadorEspacios; /* Variable que determinara el numero de espacios a imprimir */ for ( contador; contador >= 1; contador-- ) { /* Imprimimos los espacios correspondientes */ } /* Fin de for */ if ( numero <= 1 ) { } else { contadorEspacios++; /* Agregamos 1 a la variable de espacios */ muestraLlamadasRecursivas( numero - 1 ); /* Llamamos recursivamente a la funcion */ } contadorEspacios = 1; /* Reestablecemos la variable a 1 para que no se vallan a imprimir los espacios ya calculados en el factorial anterior*/ } /* Fin de funcion muestraLlamadasRecursivas */
Enserio agradeceria muchisimo su ayuda.