- #1
ksepe
- 5
- 0
I have got the recursive case... I cannot get the output to actually be the factorial (math formula), This is where i am struggling
Code:
#include <stdio.h>
void PrintFactorial(int factCounter, int factValue){
int nextCounter = 0;
int nextValue = 0;
if (factCounter == 0) { // Base case: 0! = 1
printf("1\n");
}
else if (factCounter == 1) { // Base case: Print 1 and result
printf("%d = %d\n", factCounter, factValue);
}
else { // Recursive case
printf("%d * ", factCounter);
nextCounter = factCounter - 1;
nextValue = nextCounter * factValue;
[B] int i=0;
int result;
for (i=1; i<factCounter-1; i++){
printf("%d * ", factCounter-i);
result=factCounter*(factCounter-i);
}
printf("1 = %d\n", result);
}[/B]
}
int main(void) {
int userVal = 0;
userVal = 5;
printf("%d! = ", userVal);
PrintFactorial(userVal, userVal);
return 0;
}
Last edited: