一个关于DNA的编程问题,求达人帮忙
实验要求:输入:
一条字符串(由A、T、G、C构成)来表示DNA的一条链
输出:
1.DNA中与之对应的另外一条链
2.转录生成的mRNA链
3.由mRNA控制合成的蛋白质的氨基酸序列
我是新手,也没什么积分,还请大哥大姐们照顾,新手上路.......
DNA_.rar
(9.2 KB)
#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"); }