Maverick82^
20-02-2002, 14:17
Questa funzione dovrebbe calcolare se un intero è il fattoriale di un intero positivo, ma non riesco a capire xkè quando vado a restituire il risultato mi valuta solo e sempre l'ultimo return, che da il valore 0
#include <stdio.h>
int isfact(int); /*prototipo funzione*/
main()
{
int n;
printf("\nInserisci un intero\n");
scanf("%d", &n);
if (isfact(n) == 1)
printf("\n%d è il fattoriale di un numero intero positivo\n", n);
else
printf("\n%d non è il fattoriale di un numero intero positivo ", n);
return 0;
}
int isfact(int x) /* defininizione funzione*/ {
int prod=1, i=2 ;
while (prod<x)
prod*=i;
i++;
if (prod==x) return 1;
else return 0;
}
#include <stdio.h>
int isfact(int); /*prototipo funzione*/
main()
{
int n;
printf("\nInserisci un intero\n");
scanf("%d", &n);
if (isfact(n) == 1)
printf("\n%d è il fattoriale di un numero intero positivo\n", n);
else
printf("\n%d non è il fattoriale di un numero intero positivo ", n);
return 0;
}
int isfact(int x) /* defininizione funzione*/ {
int prod=1, i=2 ;
while (prod<x)
prod*=i;
i++;
if (prod==x) return 1;
else return 0;
}