注册 登录
编程论坛 C语言论坛

计算数据

zzmx 发布于 2020-02-14 15:18, 1931 次点击
想把一个结果乘上0.04再输出,但是怎么也得不到正确的答案,很奇怪。难道是我的数据类型的原因?还是我写的方式的原因?
程序代码:

int main(int argc, char** argv)

 {
     double a[3000];
     double peak1,peak2,peak3,peak,min=a[0];
     int i,p1,p2,p3,p,b,life,life1;
     char filename[1000]={0};
     FILE *fp=NULL;
     FILE *fpp=NULL;
     for(b=100000;b<101458;b++)
     {
         sprintf(filename,"F:\\uz\\mydata\\data%d.txt",b);
         fp=fopen(filename,"r");
     
     for(i=0;i<2500;i++)
     {
         fscanf(fp,"%lf",&a[i]);
     }
中间是得到life的代码,已经试过,life的输出是正确的。想把life乘上0.04再输出。

 life1=life*0.04;
fpp=fopen("F:\\uz\\life2.txt","a");
     if(fpp==NULL)
     {
         printf("wrong");
     }
     fprintf(fpp,"%d\n",life1);
     fclose(fp);
     fclose(fpp);
   }
    return 0;
}
下面是我的life的数值。
只有本站会员才能查看附件,请 登录
5 回复
#2
吹水佬2020-02-14 17:13
输出浮点数看看
#3
forever742020-02-14 19:20
不正确这种说法太抽象了,这样提问是不正确的。
你期望的结果是什么,你得到的结果是什么?

BTW,你又一次掉进同一条河里,打开一千多个文件却只用一个,你的操作系统已经快要气死了。
#4
zzmx2020-02-14 19:33
回复 3楼 forever74
就是我想把现在的life乘0.04再输出
#5
zzmx2020-02-14 19:39
回复 3楼 forever74
不是的,我是从1000多个文件里读数,然后把结果输出到一个文件里。
#6
zzmx2020-02-14 19:49
问题解决啦,输出的类型忘记改了。
1