【字符串】DNA反向互补链

时光毁灭记忆、已成空白 提交于 2020-01-21 03:17:14

描述

DNA,即脱氧核糖核酸,是核苷酸的一种,根据其中碱基类型的不同,一个DNA序列可以由腺嘌呤脱氧核糖核苷酸、鸟嘌呤脱氧核糖核苷酸、胞嘧啶脱氧核糖核苷酸和胸腺嘧啶脱氧核糖核苷酸组成,分别由字母A、G、C和T表示。DNA一般呈现双链结构,是由两条单链盘绕形成的,两条单链具有互补特性,即每两个碱基之间组成碱基对,这种配对具有特异性,即A只能与T形成配对,C只能与G形成配对,称为碱基的互补配对。通过碱基互补配对,两条互相平行的DNA单链盘绕就形成了双链,其中两条互补的单链在方向上是相反的,每条单链称为另一条单链的反向互补链。

现在已知DNA中的一条单链,请计算出其反向互补链。

输入

输入数据有多组,每组占一行,每行是一串DNA单链序列,长度不超过100个字符。

输入以EOF结束。

输出

每组占一行,每行输出一串相应的反向互补链。

样例输入

ACGCTGC

样例输出

GCAGCGT

收获:
反转字符串方法——reverse(s.begin(),s.end())
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(cin>>s)
{
reverse(s.begin(),s.end());
//cout<<s<<endl;
int l=s.length();
for (int i=0;i<l;i++)
{
if (s[i]‘A’)
cout<<‘T’;
else
if (s[i]
‘G’)
cout<<‘C’;
else
if (s[i]‘C’)
cout<<‘G’;
else
if (s[i]
‘G’) cout<<‘C’;
else
if (s[i]==‘T’) cout<<‘A’;
}
cout<<endl;
}
return 0;
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!