/* return_factorial.c - Script 7.3 */ #include unsigned long long int return_factorial (unsigned int num); /* Function prototype */ int main(void) { /* Beginning main function */ // Declaring required variables char input[3]; // keyboard input string int number; // number to work with // Prompt the user printf ("Enter a positive integer for which the factorial will be calculated: "); // Read input and assign to number variables fgets (input, sizeof(input), stdin); // read input sscanf (input, "%d", &number); //Assign input to variable number if (number > 0 ) { // Validating number for conditional printf ("The factorial of %d is %lu.\n", number, return_factorial(number)); //Call upon prototype if true } else { printf ("You must enter a positive integer!\n"); } // Completed conditional //Complete main function getchar(); return 0; } // Completed main function //Defining return_factorial function that takes a number and returns its factorial unsigned long long int return_factorial (unsigned int num) { // Define required variables unsigned long long int sum = 1; // factorial sum for loop unsigned int i; // Loop index // Calculate factorial through for loop for (sum = 1, i = 1; i <= num; ++i) { //Starting loop sum *= i; } return sum; } // End of factorial function