下面是我的程序,不知道哪里出错了,望各位高手指点!
#include "stdio.h"
main()
{
FILE *fp; //定义文件指针
float a[3][3];
int i;
int j;
fp=fopen("E:\C\b\1.txt","w"); //在E盘创建一个“1.txt”文件
for(i=1;i<4;i++)
{
for(j=1;j<4;j++)
a[i][j]=i+j;
printf("%f\n",a[i][j]);
fprintf(fp,"%f\n",a[i][j]);//把数据写入fp指向的文件(1.txt)中
}
fclose(fp);//关闭文件指针
}
非常感谢,我试过这个程序是对的,那请问我想让他们输出时也像是这个矩阵,就是在文本中也是3行3列形式,这样该如何实现?
追答zxsh@zxsh-laptop:~/code/tmp$ cat unload.c
#include "stdio.h"
int
main ()
{
FILE *fp; //定义文件指针
float a[3][3];
int i;
int j;
fp = fopen ("1.txt", "w"); //在E盘创建一个“1.txt”文件
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
a[i][j] = i + j;
printf ("%f ", a[i][j]);
fprintf (fp, "%f ", a[i][j]); //把数据写入fp指向的文件(1.txt)中
if(j==2)
{
printf("\n");
fprintf(fp,"\n");
}
}
}
fclose (fp); //关闭文件指针
return 0;
}
zxsh@zxsh-laptop:~/code/tmp$ !gc
gcc -g -Wall unload.c -o unload
zxsh@zxsh-laptop:~/code/tmp$ !.
./unload
0.000000 1.000000 2.000000
1.000000 2.000000 3.000000
2.000000 3.000000 4.000000
zxsh@zxsh-laptop:~/code/tmp$
不好意思,还有一个问题,我写出来的文件每一行的数字都是连起来的,如何把它们分开呢?
追答什么意思,怎么个连法,可否举例?
追问我的文件写出来是这样的:
0.0000001.0000002.000000
1.0000002.0000003.000000
2.0000003.0000004.000000
可不可以每个数分隔出来
那是因为你打印的时候每个数之后没加分隔符,打印时加分隔符即可。
追问那分隔符怎么写呢?用哪一个?
追答打印的时候%f后面加个空格就行了。