c语言中读取txt中的数据给数组
写了如下程序#include<stdio.h>#include<math.h>voidmain(){inti;doubleA[7];{FILE*fp;if((fp=fop...
写了如下程序
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\Documents and Settings\Administrator\桌面\input.txt","r"))== NULL)
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%f",&A[i]);
fclose(fp);
}
}
想把文件input中的数据依次赋给A[i],但是运行发现不行,A[i]的值始终还是等于0
intput中数据如下
0.48
0.95
2.46
0.95
2.5
0.05
0
3个都试了,不行啊!
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\Documents and Settings\Administrator\桌面\input.txt","r"))== NULL)
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%lf",A[i]);
printf("%f",A[0]);
fclose(fp);
}
}
在后面加了如下语句printf("%lf",A[2]);用于检测 结果
输出结果还是0.000000
三楼的仁兄,我改过来了运行也是0啊
再次运行结果是0.0000000.0000000.0000000.000000-3.92...................我用的是Turbo C For Windows3.0
楼下大虾 如果是if((fp=fopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r"))== NULL)不能打开文件
但是if((fp=fopen("C:\\\input.txt","r"))== NULL)就可以了 当然我在桌面和磁盘C:\\Documents and Settings\\Administrator\\桌面\\input.txt和C:\\\input.txt都建了input.txt
能顺便帮忙解决下吗
谁有能用的程序也请不要藏着哦!在线等!谢谢各位大虾啊 展开
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\Documents and Settings\Administrator\桌面\input.txt","r"))== NULL)
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%f",&A[i]);
fclose(fp);
}
}
想把文件input中的数据依次赋给A[i],但是运行发现不行,A[i]的值始终还是等于0
intput中数据如下
0.48
0.95
2.46
0.95
2.5
0.05
0
3个都试了,不行啊!
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\Documents and Settings\Administrator\桌面\input.txt","r"))== NULL)
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%lf",A[i]);
printf("%f",A[0]);
fclose(fp);
}
}
在后面加了如下语句printf("%lf",A[2]);用于检测 结果
输出结果还是0.000000
三楼的仁兄,我改过来了运行也是0啊
再次运行结果是0.0000000.0000000.0000000.000000-3.92...................我用的是Turbo C For Windows3.0
楼下大虾 如果是if((fp=fopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r"))== NULL)不能打开文件
但是if((fp=fopen("C:\\\input.txt","r"))== NULL)就可以了 当然我在桌面和磁盘C:\\Documents and Settings\\Administrator\\桌面\\input.txt和C:\\\input.txt都建了input.txt
能顺便帮忙解决下吗
谁有能用的程序也请不要藏着哦!在线等!谢谢各位大虾啊 展开
推荐于2016-09-29
展开全部
fscanf(fp,"%f",&A[i]);
改为:
fscanf(fp,"%lf",&A[i]);
printf("%f",A[0]);
改为
printf("%lf",A[0]);
****************************************
一个测试通过的程序:
//---------------------------------------------------------------------------
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r"))== NULL)/*特别注意这里,一定要用双斜杠*/
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%lf",&A[i]);/*注意这里*/
printf("%lf",A[0]);/*注意这里*/
fclose(fp);
}
}
//---------------------------------------------------------------------------
***********************************************
TC不支持中文目录,建议用其它编译器,如果不更换编译器,请将input.txt文件保存到一个无空格的英文目录下
改为:
fscanf(fp,"%lf",&A[i]);
printf("%f",A[0]);
改为
printf("%lf",A[0]);
****************************************
一个测试通过的程序:
//---------------------------------------------------------------------------
# include <stdio.h>
# include <math.h>
void main()
{
int i;
double A[7];
{
FILE *fp;
if((fp=fopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r"))== NULL)/*特别注意这里,一定要用双斜杠*/
{
printf("cannot open this file\n");
exit(0);
}
for(i=0;i<7;i++) fscanf(fp,"%lf",&A[i]);/*注意这里*/
printf("%lf",A[0]);/*注意这里*/
fclose(fp);
}
}
//---------------------------------------------------------------------------
***********************************************
TC不支持中文目录,建议用其它编译器,如果不更换编译器,请将input.txt文件保存到一个无空格的英文目录下
展开全部
你用的是double所以读入时要lf
fscanf(fp,"%lf",&A[i]);
你输出也要改的呀
printf("%lf",A[0]);
fscanf(fp,"%lf",&A[i]);
你输出也要改的呀
printf("%lf",A[0]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fscanf(fp,"%f",&A[i]);
?????
&A[i]改成A[i]试试.
?????
&A[i]改成A[i]试试.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询