一个关于DNA的编程问题,求达人帮忙
实验要求:输入:
一条字符串(由A、T、G、C构成)来表示DNA的一条链
输出:
1.DNA中与之对应的另外一条链
2.转录生成的mRNA链
3.由mRNA控制合成的蛋白质的氨基酸序列
我是新手,也没什么积分,还请大哥大姐们照顾,新手上路.......
程序代码:
#include<stdio.h>
#include<string.h>
#define N 100
main()
{
char a[N];//定义了一个字符串,来储存DNA单链
char b[N];//来存储对应的DNA单链
char c[N];//存储mRNA
int i;
int L;//获得字符串的长度
printf("请输入DNA单链序列:\n");
scanf("%s",a);
strcpy(c,a);
L=strlen(a);
//DNA单链
printf("输入的DNA单链为:");
for(i=0;i<L;i++)
{
if(i==L-1)
{
printf("%c\n",a[i]);
}
else
{
printf("%c-",a[i]);
}
}
//对应的DNA单链
printf("对应的DNA单链为:");
for(i=0;i<L;i++)
{
switch(a[i])
{
case 't':
case 'T':
b[i]='A';
break;
case 'a':
case 'A':
b[i]='T';
case 'g':
case 'G':
b[i]='C';
break;
case 'c':
case 'C':
b[i]='G';
break;
default:
printf("error\n");
}
if(i==L-1)
{
printf("%c\n",b[i]);
}
else
{
printf("%c-",b[i]);
}
}
//mRNA为
printf("转录生成的mRNA为:");
for(i=0;i<L;i++)
{
if(c[i]=='t')
c[i]='u';
if(c[i]=='T')
c[i]='U';
if(i==L-1)
{
printf("%c\n",c[i]);
}
else
{
printf("%c-",c[i]);
}
}
//氨基酸的序列
//printf("翻译合成的蛋白质的氨基酸序列为:\n");
}