帮我写一个c++程序 判断两条DNA链是否互补。 例如,如果str1是“ATTG”,str2是“TAAC”,那么它们是互补的。所以函数应该返回True。 bool areComplementary(string strl, string str2);
时间: 2023-03-20 21:03:31 浏览: 112
好的,这是一个关于编程的问题,我可以回答。以下是一个可以判断两条DNA链是否互补的C语言程序:
```
#include <stdio.h>
#include <string.h>
int areComplementary(char str1[], char str2[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 != len2) {
return 0;
}
for (int i = 0; i < len1; i++) {
if ((str1[i] == 'A' && str2[i] == 'T') ||
(str1[i] == 'T' && str2[i] == 'A') ||
(str1[i] == 'C' && str2[i] == 'G') ||
(str1[i] == 'G' && str2[i] == 'C')) {
continue;
} else {
return 0;
}
}
return 1;
}
int main() {
char str1[] = "ATTG";
char str2[] = "TAAC";
if (areComplementary(str1, str2)) {
printf("True\n");
} else {
printf("False\n");
}
return 0;
}
```
这个程序会输出“True”,因为“ATTG”和“TAAC”是互补的DNA链。
阅读全文