一本通1135:配对碱基链

Posted kyriech-francis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一本通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。

 

以上是关于一本通1135:配对碱基链的主要内容,如果未能解决你的问题,请参考以下文章

1.7.07:配对碱基链

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

一本通1131:基因相关性

FCC 中级算法题 碱基配对

DNA合成--全国模拟

bzoj2764[JLOI2011]基因补全 dp+高精度