From 40778af70849939a2e2b22345e19e0fc53cb22b4 Mon Sep 17 00:00:00 2001 From: Abigail Date: Thu, 21 Jan 2021 12:07:42 +0100 Subject: C solution for week 1, part 1 --- challenge-001/abigail/README.md | 1 + challenge-001/abigail/c/ch-2.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 challenge-001/abigail/c/ch-2.c diff --git a/challenge-001/abigail/README.md b/challenge-001/abigail/README.md index 15a8939c56..666f65dbf5 100644 --- a/challenge-001/abigail/README.md +++ b/challenge-001/abigail/README.md @@ -37,4 +37,5 @@ upper boad from STDIN. ### Solutions * [AWK](awk/ch-2.awk) +* [C](c/ch-2.c) * [Perl](perl/ch-2.pl) diff --git a/challenge-001/abigail/c/ch-2.c b/challenge-001/abigail/c/ch-2.c new file mode 100644 index 0000000000..4c72835827 --- /dev/null +++ b/challenge-001/abigail/c/ch-2.c @@ -0,0 +1,30 @@ +# include +# include +# include + +/* + * See ../README.md + */ + +/* + * Run as: cc -o ch-2.o cc-2.c; ./ch-2.o < input-file + */ + +int main (void) { + char * line = NULL; + size_t len = 0; + size_t strlen; + + while ((strlen = getline (&line, &len, stdin)) != -1) { + int max = atoi (line); + for (int i = 1; i <= max; i ++) { + if (i % 15 == 0) {printf ("%s\n", "fizzbuzz"); continue;} + if (i % 5 == 0) {printf ("%s\n", "buzz"); continue;} + if (i % 3 == 0) {printf ("%s\n", "fizz"); continue;} + printf ("%d\n", i); + } + } + free (line); + + return (0); +} -- cgit