From 739a00d34a1755396ccd66c1277dc242615f9957 Mon Sep 17 00:00:00 2001 From: Nilay Lilawala Date: Fri, 15 Oct 2021 12:15:51 +0530 Subject: [PATCH] Modified main.c file of Factorial_using_recursion, made it more user-friendly. --- .../007_Factorial_using_recursion/main.c | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/001_RECURSION/007_Factorial_using_recursion/main.c b/001_RECURSION/007_Factorial_using_recursion/main.c index f4c59fe..9ec5b18 100644 --- a/001_RECURSION/007_Factorial_using_recursion/main.c +++ b/001_RECURSION/007_Factorial_using_recursion/main.c @@ -3,26 +3,33 @@ int factorial(int n) { - if(n>1) + if(n == 0 || n == 1) { - return n * factorial(n-1); + return 1; } - else if (n>=0) + else if (n>1) { - return 1; + return n * factorial(n-1); } else { - exit(-1); + return -1; } } int main() { int n; + printf("Enter a non-negative number : "); scanf("%d", &n); - - printf("Factorial of %d is : %d", n, factorial(n)); + if(factorial(n) == -1) + { + printf("%d is a negative number. Factorial doesn't exist for a negative number!\n", n); + } + else + { + printf("Factorial of %d is : %d", n, factorial(n)); + } return 0; -} \ No newline at end of file +}