diff --git a/03_recursion/c/01_countdown.c b/03_recursion/c/01_countdown.c new file mode 100644 index 0000000..49d67ed --- /dev/null +++ b/03_recursion/c/01_countdown.c @@ -0,0 +1,19 @@ +#include + +void countdown(int i) { + printf("%d\n", i); + + // base case + if (i <= 0) + return; + //recursive case + else + countdown(i - 1); +} + +int main(void) { + + countdown(5); + + return 0; +} \ No newline at end of file diff --git a/03_recursion/c/02_greet.c b/03_recursion/c/02_greet.c new file mode 100644 index 0000000..b13fb9d --- /dev/null +++ b/03_recursion/c/02_greet.c @@ -0,0 +1,23 @@ +#include + +void greet2(char *name) { + printf("how are you, %s?\n", name); +} + +void bye() { + printf("ok bye!\n"); +} + +void greet(char *name) { + printf("hello, %s!\n", name); + greet2(name); + printf("getting ready to say bye...\n"); + bye(); +} + +int main(void) { + + greet("adit"); + + return 0; +} \ No newline at end of file diff --git a/03_recursion/c/03_factorial.c b/03_recursion/c/03_factorial.c new file mode 100644 index 0000000..f163ba2 --- /dev/null +++ b/03_recursion/c/03_factorial.c @@ -0,0 +1,15 @@ +#include + +int fact(int x) { + if (x == 1) + return 1; + else + return x * fact(x - 1); +} + +int main(void) { + + printf("%d", fact(5)); + + return 0; +} \ No newline at end of file