c语言 从文件中读取数据的问题!

这是文件里的数据。
0.017 0 0 0 0 0.195408 1
0.033 0 0 0 -0.24426 0 1
0.05 0 97.704 0 -0.24426 0 1
0.067 0 0 0 -0.24426 0 1
0.083 0.5 0 0 -0.24426 0 1
0.1 1.5 -97.704 0 0 0 1
0.117 2.5 0 0 0 0 1
0.133 3.5 0 0 -0.24426 0.195408 1
0.15 4.5 0 0 -0.24426 0 1
0.166 5.5 0 0 -0.24426 0 1

这是主程序
#include <iostream>
#include <stdio.h>

int main(){
double A[10];
int i,j;

FILE *fp = NULL;
fp = fopen("C:\matrix.txt","rt");
if(!fp){
printf("read file, can't open the data:\n");
return 0;
}
for(i = 0;i<10;i++){ fscanf(fp,"%f",&A[i]);
}
for(i = 0;i<10;i++){
printf("%f\n",A[i]);
}
fclose(fp);

return 1;
}

最后输出结果是

求解为什么??

double A[10];
改为
float A[10];追问

改了 然后变成这个结果了。

追答

 for(i = 0;i<10;i++){

    for(j=0;j<7;j++)fscanf(fp,"%f",&A[j]);

 for(j = 0;j<7;j++){

  printf("%f ",A[j]);

 } 

printf("\n");

 }

 fclose(fp);

 return 1;

 

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-17
%f 对应 float
%lf 对应 double
%Lf 对应 long double
%e以科学计数法显示
%g在%e和%f中择短显示
fscanf(fp,"%lf",&A[i]);追问

改了。 

double A[10]; 改成了 float A[10];

但是还是有问题。

追答

txt文件中的行数与列数。

第2个回答  2013-01-17
fscanf(fp,"%f",&A[i]); 这个改成 fscanf(fp,"%lf",&A[i]);追问

改了。 但是还是有问题。

第一行可以第二行就不对了,第三行又可以了,以此类推。

相似回答
大家正在搜