一个使用scanf 读取数据的问题
在一个data.txt文件里面有数据: 10 AABBCCAACCBBAAAAA(这样类似的数据) 然后要用scanf 读取这些数据,然后找出有多少个ABC,最好可以循环的,就是如果第二行还有数据,第一次循环可以算出第一行的ABC各自数量,然后第二次循环算第二行
我无论怎么做-.-最后数出来的abc是0。。是不单单scanf的问题,还有char的问题吗?
程序代码:#include <stdio.h>
#include <string.h>
int main (void) {
printf("ID\tA\tT\tG\tC\tType\n");
char le[10000];
int i,id,genes,h,type,countA=0,countC=0,countG=0,countT=0,sampleNum=0;
while((scanf("%d ",&id))!=EOF){
scanf("%d %d %s",&genes,&h,&le);
for(i=0;i<strlen(le);i++){
if(le[i]=='A'){
countA+=1;
}else if(le[i]=='T'){
countT+=1;
}else if(le[i]=='G'){
countG+=1;
}else if(le[i]=='C'){
countC++;
}
}
if(countC<=countA && countA<=countT && countT<=countG) type=1;
else if(countA<=countC && countC<=countT && countG>0) type=2;
else type=3;
printf("%d\t%d\t%d\t%d\t%d\t%d\n",id,countA,countT,countG,countC,type);
countA=0;
countT=0;
countG=0;
countC=0;
sampleNum+=1;
}
printf("Total number of samples: %d\n",sampleNum);
return 0;
}已修正版本-.-以上[ 本帖最后由 逸枫 于 2012-6-11 05:29 编辑 ]








