题目来源:517编程3段 - 1260. 字符数组-配对碱基链 - 517编程 (517coding.com)
题目内容:
脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成 DNA 的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。
输入
一个字符串,表示一条碱基链。这个字符串只含有大写字母 A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。字符串长度不超过 255255。
输出
一个只含有大写字母 A、T、G、C 的字符串,为与输入的碱基链互补的碱基链。
样例
输入
ATATGGATGGTGTTTGGCTCTG
输出
TATACCTACCACAAACCGAGAC
题解:
#include <bits/stdc++.h>
using namespace std;
char s[2500];
int main() {
gets(s);//读入字符串
int n = strlen(s);//获取长度
for (int i = 0; i < n; i++)
{
if (s[i] == 'A')//判断
{
printf("T");//输出配对
}
else if (s[i] == 'T')
{
printf("A");
}
else if (s[i] == 'G')
{
printf("C");
}
else
{
printf("G");
}
}
return 0;
}