UVa1368 DNA序列 学过C语言的帮我看一下问题在哪里,怎么改好吗?
小哈里 算法领域优质创作者 博客专家认证 2016-12-30 10:11:36 //UVa1368 - DNA Consensus String
//题目:
//分析:
#include<stdio.h>
#include<string.h>
int main(){
//输入
int m, n;
scanf("%d %d",&m,&n);//m个n长度的
//存储
int s[n][4];
memset(s,0,sizeof(s));
char f[4]={'A','C','G','T'};
//找个数
for(int i = 0; i <= m; i++){//rows
int g,count = 0;
char ch;
//while((ch=getchar()) != '\n'){
while(scanf("%c",&ch) == 1){//every row
//getchar();
if(ch=='\n')break;
if(ch=='A')g=0;
if(ch=='C')g=1;
if(ch=='G')g=2;
if(ch=='T')g=3;
s[count][g] += 1;
count++;
}
}
//printf("%d %d %d %d %d\n",s[1][0],s[1][1],s[1][2],s[1][3],s[0][0]);
//输出
for(int j = 0; j < n; j++){
int max = 0, T = 4;
//int *pt;
while(T){
//pt = &s[j][T];
if(((s[j][T-1]) > max))max = T-1;//PROBLEM//问题,表达式有误?
T--;
}
//printf("%d\n",s[j][T-1]);
printf("%C",f[max]);
}
putchar('\n');
return 0;
}
/*
5 8
TATGATAC
TAAGCTAC
AAAGATCC
TGAGATAC
TAAGATGT
*/