aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2020-12-07 19:56:10 +0100
committerAbigail <abigail@abigail.be>2020-12-07 20:04:43 +0100
commit3ac9d4aa0e32ab4291e2d611d6a7326fe621a506 (patch)
tree47cfb3a1075e1ea59fdce8c47e7a1775412bebad
parent560ff2afdc7664b328d92a232f6e37ed82e079b7 (diff)
downloadperlweeklychallenge-club-3ac9d4aa0e32ab4291e2d611d6a7326fe621a506.tar.gz
perlweeklychallenge-club-3ac9d4aa0e32ab4291e2d611d6a7326fe621a506.tar.bz2
perlweeklychallenge-club-3ac9d4aa0e32ab4291e2d611d6a7326fe621a506.zip
C solution for week 90/part 1
-rw-r--r--challenge-090/abigail/README1
-rw-r--r--challenge-090/abigail/c/ch-1.c33
2 files changed, 34 insertions, 0 deletions
diff --git a/challenge-090/abigail/README b/challenge-090/abigail/README
index 63ba3455ca..9a1cfc4990 100644
--- a/challenge-090/abigail/README
+++ b/challenge-090/abigail/README
@@ -3,6 +3,7 @@ Solution by Abigail
* Task 1
* bash/sh
* Befunge-93
+ * C
* Perl
* Task 2
diff --git a/challenge-090/abigail/c/ch-1.c b/challenge-090/abigail/c/ch-1.c
new file mode 100644
index 0000000000..d633cd7979
--- /dev/null
+++ b/challenge-090/abigail/c/ch-1.c
@@ -0,0 +1,33 @@
+# include <stdlib.h>
+# include <stdio.h>
+# include <string.h>
+
+/*
+ * For challenge description, see ../perl/ch-1.pl
+ */
+
+int main (void) {
+ char * line = NULL;
+ size_t len = 0;
+
+ while (getline (&line, &len, stdin) != -1) {
+ char * line_ptr = line;
+
+ while (*line_ptr) {
+ switch (*line_ptr) {
+ /* Replace the characters */
+ case 'A': *line_ptr = 'T'; break;
+ case 'T': *line_ptr = 'A'; break;
+ case 'C': *line_ptr = 'G'; break;
+ case 'G': *line_ptr = 'C'; break;
+ /* We don't want to count the newline */
+ default: *line_ptr = 0; break;
+ }
+ line_ptr ++;
+ }
+ printf ("%lu\n%s\n", strlen (line), line);
+ }
+ free (line);
+
+ return (0);
+}