Tengo un ejercicio que me pide calcular el factorial de numeros naturales utilizando WHILE, bueno, he podido hacer algo (imagino que de casualidad) solo calcula los factoriales hasta el numero 12, a partir de ahi no da nada bien. Que deberia hacer??
Código:
Citar
#include<stdio.h>
main(){
int x,y=0,z=1;
printf("Dame un n\xA3mero: ");
scanf("%i",&x);
if(x==0){
printf("\n%i! = 1",x);
}
else{
if(x==1){
printf("\n%i! = 1",x);
}
else{
printf("\n%i! = ",x);
while(y<x){
y++;
z=z*y;
if(x==y){
printf("%i = ",x);
}
else{
printf("%i x ",y);
}
}
printf(" %i",z);
printf("\n");
}
}
}
main(){
int x,y=0,z=1;
printf("Dame un n\xA3mero: ");
scanf("%i",&x);
if(x==0){
printf("\n%i! = 1",x);
}
else{
if(x==1){
printf("\n%i! = 1",x);
}
else{
printf("\n%i! = ",x);
while(y<x){
y++;
z=z*y;
if(x==y){
printf("%i = ",x);
}
else{
printf("%i x ",y);
}
}
printf(" %i",z);
printf("\n");
}
}
}