一本通1135:配对碱基链

这是一到关于字符数组的题目,具体题目不难,比较基础。

1135:配对碱基链(此处为超链接)

由题意可知,这是一道考察字符数组的题目,过程中需要读取字符串,并计算字符串长度,所以要用到三个头文件。(如下)

1 #include<cstdio>
2 #include<iostream>
3 #include<cstring>

先定义字符串,根据题目要求“长度不超过255”可确定范围,然后读取字符串与其长度。

1     char a[256];
2     int n;
3     gets(a);
4     n=strlen(a);

下面用for循环,将各个字符转换成相配对的字符(腺瞟呤和胸腺嘧啶配对,鸟嘌呤和胞嘧啶配对。)

 1 for(int i=0;i<n;i++)
 2     {
 3         if(a[i]==‘A‘)
 4         a[i]=‘T‘;
 5         else if(a[i]==‘T‘)
 6         a[i]=‘A‘;
 7         else if(a[i]==‘C‘)
 8         a[i]=‘G‘;
 9         else if(a[i]==‘G‘)
10         a[i]=‘C‘;
11     }

也可写为此种形式:

1 for(i=0; i<n; i++) //输出配对碱基
2     {
3         if(a[i]==‘A‘)    cout<<"T";
4         if(a[i]==‘T‘)    cout<<"A";
5         if(a[i]==‘G‘)    cout<<"C";
6         if(a[i]==‘C‘)    cout<<"G";
7     }

最后将字符串输出,结束。

1     puts(a);
2     return 0;

下面是完整的代码与解析:

 1 #include<cstdio>//头文件
 2 #include<iostream>
 3 #include<cstring>
 4 using namespace std;
 5 int main()
 6 {
 7     char a[256];//定义长度
 8     int n;
 9     gets(a);
10     n=strlen(a);//计算长度
11     for(int i=0;i<n;i++)//依次进行配对
12     {
13         if(a[i]==‘A‘)
14         a[i]=‘T‘;
15         else if(a[i]==‘T‘)
16         a[i]=‘A‘;
17         else if(a[i]==‘C‘)
18         a[i]=‘G‘;
19         else if(a[i]==‘G‘)
20         a[i]=‘C‘;
21     }
22     puts(a);//输出字符串
23     return 0;//养成好习惯!
24 } 

或者写为:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()

{
    char a[256];
    int n;
    gets(a);
    len=strlen(a);//计算字符串长度
    for(int i=0; i<n; i++) //输出配对碱基
    {
        if(a[i]==‘A‘)    cout<<"T";
        if(a[i]==‘T‘)    cout<<"A";
        if(a[i]==‘G‘)    cout<<"C";
        if(a[i]==‘C‘)    cout<<"G";
    }
    cout<<endl;
    return 0;
}

很简单,有一点大家要注意的是:第一种方法一定要加else,否则当a[i]==‘A‘时,输出仍为A。

原文地址:https://www.cnblogs.com/Kyriech-Francis/p/12234866.html

时间: 2024-11-09 03:10:47

一本通1135:配对碱基链的相关文章

POJ C程序设计进阶 编程题#2: 配对碱基链

编程题#2: 配对碱基链 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌呤(G).胸腺嘧啶(T)和胞嘧啶(C).我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对.你的任务就是根据一条单链上的碱基序列,给出对应的互补链上

1.7.07:配对碱基链

07:配对碱基链 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌呤(G).胸腺嘧啶(T)和胞嘧啶(C).我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对.你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列. 输入 一个字符串,表示一条碱基链.这个字符串只含有大写字母A.T.G.C,分

AC日记——配对碱基链 openjudge 1.7 07

07:配对碱基链 总时间限制:  1000ms 内存限制:  65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌呤(G).胸腺嘧啶(T)和胞嘧啶(C).我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对.你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列. 输入 一个字符串,表示一条碱基链.这个字符串只含有大写字母A.T.G.C,分别表示腺瞟呤.胸腺嘧啶.

互补的碱基链

字符串 第6题 [描述] 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌呤(G).胸腺嘧啶(T)和胞嘧啶(C).在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对.你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列. [输入] 第一行是一个正整数n,表明共有n条要求解的碱基链. 以下共有n行,每行用一个字符串表示一条碱基链.这个字符串只含有大写字母A.T.G.C,分别表示腺瞟呤.胸腺

NOI 1.7编程基础之字符串(35题)

01:统计数字字符个数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一行字符,统计出其中数字字符的个数. 输入 一行字符串,总长度不超过255. 输出 输出为1行,输出字符串里面数字字符的个数. 样例输入 Peking University is set up at 1898. 样例输出 4 来源 习题(7-1) 医学部 2010 期末试题 樊波 1 #include<cstdio> 2 #include<cstring> 3 ch

整理小朋友在noi.openjudge上的作业(1)

NOI(题库正在建设中,做题纪录有可能会被删除,请注意) 第一章的统计放前面 1 编程基础之输入输出 10 0 0% 最基础有空补刷 2 编程基础之变量定义.赋值及转换 10 0 0% 最基础有空补刷 3 编程基础之算术表达式与顺序执行 20 0 0% 最基础有空补刷 4 编程基础之逻辑表达式与条件分支 21 0 0% 最基础有空补刷 5 编程基础之循环控制 45 10 22% 最基础有空补刷 6 编程基础之一维数组 15 5 33% 最基础有空补刷 7 编程基础之字符串 35 0 0% 有必要

DNA合成--全国模拟(一)

[编程题] DNA合成 时间限制:1秒 空间限制:32768K DNA分子是以4种脱氧核苷酸为单位连接而成的长链,这4种脱氧核苷酸分别含有A,T,C,G四种碱基.碱基互补配对原则:A和T是配对的,C和G是配对的.如果两条碱基链长度是相同的并且每个位置的碱基是配对的,那么他们就可以配对合成为DNA的双螺旋结构.现在给出两条碱基链,允许在其中一条上做替换操作:把序列上的某个位置的碱基更换为另外一种碱基.问最少需要多少次让两条碱基链配对成功 输入描述: 输入包括一行: 包括两个字符串,分别表示两条链,

常考面试算法题之暴力枚举

结合2017春招和秋招真题,以下几类算法题最常考,汇总了一下: 好多鱼! 牛牛有一个鱼缸.鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸.鱼缸内存在着大鱼吃小鱼的定律.经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B.考虑到这个,牛牛要放入的鱼就需要保证: 1.放进去的鱼是安全的,不会被其他鱼吃掉 2.这条鱼放进去也不能吃掉其他鱼 鱼缸里面已经存在的鱼已经相

测序总结,高通量测序名词

主要来自 :http://mp.weixin.qq.com/s/iTnsYajtHsbieGILGpUYgQ 测序的黄金标准:一代测序了,故称之为黄金测序. 高通量测序最近这几年很火越来越火,但是世界上更多的还是一帮天天做分子克隆.养细胞.养细菌.杂蛋白的生物学家,究其原因Sanger测序还是测序届的金标准,由于精确度高于2.3代测序且保持大白菜价格使之地位稳固. 应用范围:De Novo测序.重测序: 如突变检测.SNPs.插入.缺失克隆产物验证.比较基因组.分型: 如微生物和真菌鉴定.HLA