我的程序是从两个文本文件中读取数,分别放在数组A和B中,b中的数比较大所以读的没有问题,a中全是远远小于1的数,读出来全是零 看了网上说接近于0得数就会打印成零 我也不会改
那个大神给我改改,下面是我的程序
#include<stdio.h>
#define H 0.1
void main()
{
float d1=0,d2=0;
float a[401],b[401];
int i=0;
FILE *z,*g;
g=fopen("g.txt","rb");
z=fopen("d.txt","rb");
for(i=0;i<401;i++)
{
fscanf(z,"%f",&d2);
b[i]=d2;
fscanf(g,"%f",&d1);
a[i]=d1;
printf("%f %f\n",d2,d1);
}
}
不是读的问题,是你的数据没那么多,你打印了401次,后面读到时数据都没有,答应出来的就是最后读到的数据。你可以看开头读到的数据,那就是txt文件里的内容。
追问我的数据有那么多,也显示不出来,前两天还好好的 今天一运行就坏了,第一列对着 第二列就全是零,
你可以自己检查一下,fscanf(g,"%f",&d1);如果函数读到数据会返回1;读不到数据返回-1.我怎么感觉你两个数据读得都不对呢?
你的Txt文档里的数据是怎样分开的?(一般要空格分开,或者‘,’ ‘;’ 分开)
看读没读对看开头那里,因为可能你两个文件数据量可能不一样
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-05-06
看来你需要有个人来教追问
是啊,,你会改吗