一本通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:配对碱基链的主要内容,如果未能解决你的问题,请参考以下文章