标题:C程序读取文件中带e指数的数据
取消只看楼主
zzmx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2020-2-4
结帖率:75%
已结贴  问题点数:16 回复次数:5 
C程序读取文件中带e指数的数据
我的数据是这样的,两列,第一列是e指数很小,我想把第一列数写进一个数组里。但是我写的程序无法识别e指数,调试过程中发现碰见e这个字后面的数据就全变成0了。
请教大神指点!
-6.880903e-006 0.00325521
-6.876903e-006 0
-6.872903e-006 0.00325521
-6.868903e-006 -0.00325521
-6.864903e-006 0
-6.860903e-006 0
-6.856903e-006 0

#include <iostream>
#include<fstream>
#include<sstream>
int main(int argc, char** argv)
{
FILE *fp=fopen("G:\\uz\\uz\\C3energy00001.txt","r");   
FILE *fpp=fopen("G:\\CCC\\z.txt","w+");
double a[3000],b[3000];
int i,flag,line=3000;
char ch;
if(fp==NULL)
printf("error\n");
for(i=1,line=1;;i++)
{
    ch=fgetc(fp);
    if(ch=='\n')
    line+=1;
    if(ch==EOF)
    break;
}
printf("%d\n",line);

fseek(fp,0L,0);
while(fscanf(fp,"%lf%*c&lf",&a[i],&b[i])!=EOF)
{
   
a[i]=a[i]*1000000;
i++;
}
for(i=0;i<line;i++)
{
    printf("%lf   %lf\n",a[i],b[i]);
}
for(i=0;i<line;i++)
{
    fprintf(fpp,"%lf \n",a[i],b[i]);
}
fclose(fp);
fclose(fpp);
    return 0;
}
输出结果
搜索更多相关主题的帖子: include i++ 指数 line 数据 
2020-02-07 17:32
zzmx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2020-2-4
得分:0 
回复 2楼 rjsp
谢谢你的回复。额。。。但是我不明白你是怎么读取e指数的,还有我的程序还没有写完,不知道里面有什么错误啊?
2020-02-07 22:55
zzmx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2020-2-4
得分:0 
回复 4楼 吹水佬
谢谢!但是你可以说一下为什么程序要这么写吗?比如1)为什么while的判断条件是==2;2)输出的时候为什么是“%e %.8lf”;3)还有,这组数据之后要乘以100000,但是我加上试了一下,是这个样子
。谢谢指正!万分感激!
2020-02-08 13:06
zzmx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2020-2-4
得分:0 
回复 4楼 吹水佬
谢谢!但是你可以说一下为什么程序要这么写吗?比如1)为什么while的判断条件是==2;2)输出的时候为什么是“%e %.8lf”;3)还有,这组数据之后要乘以100000,但是我加上试了一下,是这个样子
。谢谢指正!万分感激!
2020-02-08 13:06
zzmx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2020-2-4
得分:0 
回复 8楼 吹水佬
谢谢!
2020-02-08 18:19
zzmx
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2020-2-4
得分:0 
回复 7楼 吹水佬
是的,感谢!
2020-02-08 18:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499138-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112408 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved