/* * Program demonstrating use of loops to compute factorial of a number. * * Input: a positive integer n. * * Output: n! */ #include int main(void) { int n; int counter; int n_factorial; printf("enter a positive integer:\n"); if (scanf("%d", &n) !=1) { printf("error: not an integer\n"); } else if (n <= 0) { printf("error: negative or 0\n"); } else { printf("\ncomputing using while loop:\n"); n_factorial = n; counter = n-1; while (counter >= 2) { n_factorial *= counter; counter -= 1; } printf("%d factorial is %d\n", n, n_factorial); printf("\ncomputing using for loop:\n"); n_factorial = n; for (counter = n-1; counter >= 2; counter -= 1) { n_factorial *= counter; } printf("%d factorial is %d\n", n, n_factorial); } return 0; }