diff --git a/fak.c b/fak.c new file mode 100644 --- /dev/null +++ b/fak.c @@ -0,0 +1,32 @@ +/* + * $Id: fak.c,v 1.1.1.1 2008-04-28 17:32:53 mbroeker Exp $ + * $Source: /development/c/demos/fak.c,v $ + */ + +#include +#include + +long fak (int i) +{ + if (i == 0) + return 1; + else if (i > 0) + return (i * fak (i - 1)); + else + return (i * fak (i + 1)); +} + +int main (int argc, char **argv) +{ + int number; + + printf ("Enter a number: "); + if (scanf ("%d", &number) < 0) { + printf ("READ ERROR\n"); + return EXIT_FAILURE; + } + + printf ("The faktorial of %d is %ld\n", number, fak (number)); + + return EXIT_SUCCESS; +}