DNA序列找GC-Ratio最高子序列

 一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。
给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。
 
 
知识点:  字符串 
题目来源:  内部整理 
练习阶段:  初级 
运行时间限制: 10Sec
内存限制: 128MByte
输入:  
输入一个string型基因序列,和int型子串的长度
 
输出:  
找出GC比例最高的字串
 
样例输入:
AACTGTGCACGACCTGA
5
                  
样例输出:
GCACG

#include 
#include 
#include 

char *getSubString(char *str,int n)
{
    char *result=(char*)malloc(sizeof(char)*(n+1));
    char *p=str;
    int i,j,len,cnt,maxCnt;
    char tempChar;
    len=strlen(str);
    if(lenmaxCnt)
            {
                p=str+i;
                maxCnt=cnt;
                if(maxCnt==n)
                    break;
            }

        }
        if(maxCnt==0)
            return NULL;
        else
        {
            strncpy(result,p,n);
            return result;
        }
    }

}

int main()
{
    char str[2048];
    int n;
    scanf("%s",str);
    scanf("%d",&n);
    printf("%s\n",getSubString(str,n));
    return 0;
}


你可能感兴趣的:(C/C++)