一本通(ybt) 1135:配对碱基链
1135:配对碱基链
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 29199 通过数: 19613
【题目描述】
脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。
【输入】
一个字符串,表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。字符串长度不超过255。
【输出】
一个只含有大写字母A、T、G、C的字符串,为与输入的碱基链互补的碱基链。
【输入样例】
ATATGGATGGTGTTTGGCTCTG
【输出样例】
TATACCTACCACAAACCGAGAC
代码
//一号代码
#include <cstdio>
#include <cstring>
#include <iostream>
//#include <bits/stdc++.h>
using namespace std;
char s[255];
int main()
{
int i,l;
gets(s);//gets(s)被禁用!!!
l=strlen(s);
for(i=0;i<l;++i)
{
if(s[i]=='A') printf("T");
if(s[i]=='T') printf("A");
if(s[i]=='G') printf("C");
if(s[i]=='C') printf("G");
}
return 0;
}
修改后的代码
//二号代码
#include <cstdio>
#include <cstring>
#include <iostream>
//#include <bits/stdc++.h>
using namespace std;
char s[255];
int main()
{
int i,l;
getline(cin,s);
l=s.size();
for(i=0;i<l;++i)
{
if(s[i]=='A') printf("T");
if(s[i]=='T') printf("A");
if(s[i]=='G') printf("C");
if(s[i]=='C') printf("G");
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现