• 全部
  • 问答

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
*/
...全文
304 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
小哈里 2017-01-15
引用 3楼赵4老师 的回复:
%c和%C不是一回事!
改回来了…%C没有影响(虽然语法上是不对,不过可能我用的是cpp,c++有出入吧)…是语意错误
回复
赵4老师 2017-01-03
%c和%C不是一回事!
回复
小哈里 2016-12-30
回复
小哈里 2016-12-30
//Ps:自己测试过的中间数据,输入计算好像没有问题,可能在输出这一块,试过好多种方法了
回复
发帖
C语言
创建于2007-09-28

6.3w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2016-12-30 10:11
社区公告
暂无公告