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
*/
...全文
394 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小哈里 2017-01-15
  • 打赏
  • 举报
回复
引用 3楼赵4老师 的回复:
%c和%C不是一回事!
改回来了…%C没有影响(虽然语法上是不对,不过可能我用的是cpp,c++有出入吧)…是语意错误
赵4老师 2017-01-03
  • 打赏
  • 举报
回复
%c和%C不是一回事!
小哈里 2016-12-30
  • 打赏
  • 举报
回复
小哈里 2016-12-30
  • 打赏
  • 举报
回复
//Ps:自己测试过的中间数据,输入计算好像没有问题,可能在输出这一块,试过好多种方法了

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧