C语言中要求将一个txt文件中的数据输入到另一个txt文件中,并将其格式改为坐标的形式存入

如下图为a.txt文件的数据,这些数据作为Y坐标,X坐标的数据依次为0,0.5,1,1.5,2······40,将a.txt文件的数据 变成0,0 4.5,0.5 9.7,1 15.1,1.5 ······并另存到b.txt中,求C语言程序。

下面是我编的程序,不知道哪边出问题了,得不出结果,请大家帮我改改
#include <stdio.h>
void main()
{
int i = 0;
float n;
FILE *fp = fopen("D:\\进针实验-数据处理\\进针实验数据\\数据处理\\10-5.txt","r");
FILE *fd = fopen("D:\\进针实验-数据处理\\进针实验数据\\数据处理\\10号-5.txt","w");
while(fscanf(fp,"%f",&n)==1)
{
fprintf(fd, "%.1f,%.1f ", n, i*0.5);
i++;
}
fclose(fp);
fclose(fd);
}

第1个回答  2013-09-04
经测试可以得出结果,
你唯一需要看看的是你的路径和文件的可读写情况,因为我是在当前目录测试的,有结果

追问

照你的说法,我把我编的其他程序试了一下(已经使用过了),个别出现了下面的问题,这是软件出问题了吗?

追答

这个情况是VC的问题吧,你有其它编译器吗?或者重新装一个试试吧,我测试数据都正确

追问

我重新装了一个,但是文件有了,但是没有数据

追答

那你试下

if(fp==NULL)puts("fp!!!!");
if(fd==NULL)puts("fd!!!!");

看看是不是路径有错误,因为我的测试是可以用的

本回答被提问者采纳
第2个回答  2013-09-04
将上句改为printf(fd,"%.1f,%.1f ",i*0.5,n);
你说得不出结果是什么情况,是结果文件没有打印出来,还是得到的打印文件结果不正确追问

现在情况是文件有了,但是没有数据

第3个回答  2013-09-04

请把:

int i = 0;

改为:

float i = 0;

追问

程序其他有问题吗?i表示1,2,3,4,······整数,用int应该可以的吧,就算我把改了,还是有问题,会出现这种问题

追答

我不是用VC6,编译的,我是用的C-Free编译的:程序没问题的

我只输入了3个数,做了验证;

你的  i*0.5 ,这样 i 就不能是整数。

相似回答