问题:使用c语言解决:生物学家使用字母 A、C、T 和 G 构成的字符串建模一个基因组。一个基因是基因组的一个子串,
它从三元组 ATG 后开始并在三元组 TAG、TAA 或 TGA 之前结束。此外,基因字符串的长度是 3 的倍数,而且基因不包含三元组 ATG、TAG、TAA 和 TGA。编写程序提示用户输入一个基因组,然后显示基因组里的所有基因。如果在输入序列中没有找到基因,那么程序显示“no gene is found”。。
代码如下:
#include<stdio.h>
#include<string.h>int main()
{ char a[200]; /定义一个基因数组/
int len;
int i,j;
int k,t;
printf(“请输入一个基因组\n”);
gets(a); /使用字符串输入函数简便程序/ len=strlen(a); /使用字符串处理函数得到用户输入数组的的长度,注意要包含头文件/ for(i=0;i<len;i+=3)
{
if(a[i]‘A’&&a[i+1]‘T’&&a[i+2]‘G’) break; }
if(i<len)
k=i;
else
printf(“no gene is found\n”); /确定基因数组开始的位置的下标,如不存在,则输出未找到结束程序/
for(t=k;t<len;t+=3)
{ if((a[t]‘T’&&a[t+1]‘A’&&a[t+2]‘G’)||(a[t]‘T’&&a[t+1]‘A’&&a[t+2]‘A’)||(a[t]‘T’&&a[t+1]‘G’&&a[t+2]‘A’))
break;
else
{ printf("%c%c%c",a[t],a[t+1],a[t+2]);
}
printf("\t"); /从启动子开始每三个输出,为基因,如遇到TAG,TAA,TGA则结束/ }
## 标题}
2020-05-28
最新推荐文章于 2021-06-08 14:52:57 发布