C++ 6.0 配对碱基链 自己编的程序输出总是有问题 求解0
脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶(C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。
关于输入
第一行是一个正整数n,表明共有n条要求解的碱基链。
以下共有n行,每行用一个字符串表示一条碱基链。这个字符串只含有大写字母A、T、G、C,分别表示腺瞟呤、胸腺嘧啶、鸟嘌呤和胞嘧啶。每条碱基链的长度都不超过255。
关于输出
共有n行,每行为一个只含有大写字母A、T、G、C的字符串。分别为与输入的各碱基链互补的碱基链。
例子输入
5
ATATGGATGGTGTTTGGCTCTG
TCTCCGGTTGATT
ATATCTTGCGCTCTTGATTCGCATATTCT
GCGTTTCGTTGCAA
TTAACGCACAACCTAGACTT
例子输出
TATACCTACCACAAACCGAGAC
AGAGGCCAACTAA
TATAGAACGCGAGAACTAAGCGTATAAGA
CGCAAAGCAACGTT
AATTGCGTGTTGGATCTGAA
我编的程序如下:
#include
#define MAX 255
int main(){
int n,i,j;
char s[MAX+1],k[MAX+1];
scanf("%d",&n);
for(i=0;i
scanf("%s",s);
for(j=0;s[j];j++){
if(s[j]=='A'){
k[j]='T';
}else if(s[j]=='T'){
k[j]='A';
}else if(s[j]=='C'){
k[j]='G';
}else if(s[j]=='G'){
k[j]='C';
}
}
printf("%s\n",k);
}
return 0;
}
但是输出的时候每行字符串的字母部分是对的,但是结尾总会出现一些奇怪的多余的符号乱码什么的。。。
像这个样子:
CTGTCCCTGGGAGAACATATCGTCGTCAACACGTAAACAACGGTGAGTATCGGAAGGCTACCTCTCTTCGCGCCCGGTGATCTTCTATTACAGCCCGGGAACTCGCGC/
GTTCGGGGTCCGTAAACATCCGTCCAAAGGAGAGGGCGTCCCCGTTACACATGTAAGCCATCTTGTATTGCGACCTTAATGTAAGCGGCGTAATGATCATTTGGCAGGAAACATTCCTTCGGCGGTCCTCACGCAATTACCTATCCCAGGCTTGCCAGAGTTGATTCAGGTGGAACG?? ?? ?}苟
GTCGGTTGCGGTGTTGACGGTGTCGAAATAGGGCGGAGTCGTCACCGTACAGAGGTTTGGTGCCCGTTCGGACGCTATAGTCCGGCGCCTCAGCACGGCCTCCTAGCAGCGGCATTGCTGACAAGATATGGATGGGATCCCTTATGCCCAGATTAGCTCATAGTCCCACCGATCTATTATCCGCATAACTGCCGAGCGAGTATCCATGGAGTTQ?
TCCAAAAGTCTTATACGTGCCGAGTCAATGTGTGAGCTTGTGTATATTCAGTTCGCGGAGGTCGTGTGGAGGGATTAGCTCCTGGCGCCTCAGCACGGCCTCCTAGCAGCGGCATTGCTGACAAGATATGGATGGGATCCCTTATGCCCAGATTAGCTCATAGTCCCACCGATCTATTATCCGCATAACTGCCGAGCGAGTATCCATGGAGTTQ?
GTAAAAAATACACCAGAAGGCCCGACCAGGCGCTGTGCTGTGTATATTCAGTTCGCGGAGGTCGTGTGGAGGGATTAGCTCCTGGCGCCTCAGCACGGCCTCCTAGCAGCGGCATTGCTGACAAGATATGGATGGGATCCCTTATGCCCAGATTAGCTCATAGTCCCACCGATCTATTATCCGCATAACTGCCGAGCGAGTATCCATGGAGTTQ?
GTGGAACCAGTCTATGTGATCCGTTAGATTGCGGCGGCATTCAATGTGAGATTGGTGAAGGTGCGGAAGTTGTACTATACCCAATAGACACAGTACGGCCTCCTAGCAGCGGCATTGCTGACAAGATATGGATGGGATCCCTTATGCCCAGATTAGCTCATAGTCCCACCGATCTATTATCCGCATAACTGCCGAGCGAGTATCCATGGAGTTQ?
CAGATCTCGAAACCATTATGAGTCCGCAGGTGTGTCCGATTTACAGAAATGAGTAATAGGAGGTCTTGCCTCCGACTTATAACGCGGTTAAGCTACCAGAGGTTATCAGCTTTCCGGTGCTAGGTTGCCTTTCCAAACGGAGCCCCCGGTTTCGCACATTTGGGTTTCCCAGTATAGCGGCCGCATAACTGCCGAGCGAGTATCCATGGAGTTQ?
出现?、乱码等等。。。
求解。。。。