一、题目
Instructions
Deoxyribonucleic acid (DNA) is a chemical
found in the nucleus of cells and carries
the "instructions" for the development
and functioning of living organisms.
If you want to know more:
http://en.wikipedia.org/wiki/DNA
In DNA strings, symbols "A" and "T" are
complements of each other, as "C" and "G".
Your function receives one side of the DNA
(string, except for Haskell);
you need to return the other complementary side.
DNA strand is never empty or there is no DNA at all
(again, except for Haskell).
More similar exercise are found here:
http://rosalind.info/problems/list-view/ (source)
Example: (input --> output)
"ATTGC" --> "TAACG"
"GTAT" --> "CATA"
Sample Tests
#include <criterion/criterion.h>
char *dna_strand(const char *dna);
Test(Sample_Test, should_return_the_DNA_complementary)
{
cr_assert_str_eq(dna_strand("ATTGC"), "TAACG");
cr_assert_str_eq(dna_strand("GTAT"), "CATA");
}
Solution
/* Note:
Allocate memory yourself!
*/
#include <stdlib.h>
char *dna_strand(const char *dna)