帮忙修改一个计算DNA序列中各个密码子出现次数的程序.这个程序是可以编译通过而且也可以运行的!但是运行结果会出现错误的.比如输入‘TTT’序列,计数应该只有TTT为1,其它为0,但是CGC和GAC
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 08:42:08
帮忙修改一个计算DNA序列中各个密码子出现次数的程序.这个程序是可以编译通过而且也可以运行的!但是运行结果会出现错误的.比如输入‘TTT’序列,计数应该只有TTT为1,其它为0,但是CGC和GAC
帮忙修改一个计算DNA序列中各个密码子出现次数的程序.
这个程序是可以编译通过而且也可以运行的!但是运行结果会出现错误的.比如输入‘TTT’序列,计数应该只有TTT为1,其它为0,但是CGC和GAC也分别为1.我经分步调试,发现错误处在switch语句中,但不知道为什么,错误好像出现在将字符型数组向整型数组的转换程序中,即switch语句里面,求高手指教,
#include
using namespace std;
int main()
{
char s1[100];//声明存放DNA序列信息的字符数组
int s2[100];//声明存放将序列信息转变为相应的整型数的整型数组
int count[3][3][3];//声明密码子计数变量
int TotalNum;//声明密码子总数变量
int i,j,k;
char t[3];
double rate;
t[0]='A';t[1]='T';t[2]='C';t[3]='G';
for(i=0;i
帮忙修改一个计算DNA序列中各个密码子出现次数的程序.这个程序是可以编译通过而且也可以运行的!但是运行结果会出现错误的.比如输入‘TTT’序列,计数应该只有TTT为1,其它为0,但是CGC和GAC
好久没搞程序了,一看你的程序我就觉得有点问题,但是不确定,实验了一把也没看出来,查了好几遍,终于发现我的直觉是对的,
int count[4][4][4];数组的声明有问题,这才是一个4*4*4的数组.你的声明是int count[3][3][3]是一个3*3*3的数组,表面上看来没什么问题,实际上编译器掩了.不信你自己测试一下.