用C语言将txt文件读入后,如何存入不同的数组,并输出在屏幕上

我的txt文件的数据如下:CUSTNO.XCOORD.YCOORD.DEMANDREADYTIMEDUEDATESERVICETIME135.0035.000.000.0... 我的txt文件的数据如下:
CUST NO. XCOORD. YCOORD. DEMAND READY TIME DUE DATE SERVICE TIME
1 35.00 35.00 0.00 0 .00 230.00 0.00
2 41.00 49.00 10.00 161.00 171.00 10.00
3 35.00 17.00 7.00 50.00 60.00 10.00
4 55.00 45.00 13.00 116.00 126.00 10.00
5 55.00 20.00 19.00 149.00 159.00 10.00
6 15.00 30.00 26.00 34.00 44.00 10.00
7 25.00 30.00 3.00 99.00 109.00 10.00
8 20.00 50.00 5.00 81.00 91.00 10.00

这样的数据有100行我已经将txt文件读进去了,但是存入数组失败,我的源程序如下:
#define N 101
#define M 2
#include<stdio.h>
#include <stdlib.h>
#include<process.h>
main()
{ /*变量定义*/
int i;
int num;
int nDemand[100];
int nTimewindowE[N];
int nTimewindowL[N];
double dCoordinateX[N];
double dCoordinateY[N];
double dDistance[N][N];
double dServicetime[N];
int nRoutes[20][N];
int bFlag[N];
int capacity=200;

FILE *fp;
fp=fopen("R101.txt","r");
if(fp==NULL)
{
printf("file open erro!\n");
exit(0);
}
while(!feof(fp))
{
fscanf(fp,"%d%f%f%d%d%d%f",&num,dCoordinateX,dCoordinateY,nDemand,nTimewindowE,nTimewindowL,dServicetime);
fprintf(stdout,"%d%f%f%d%d%d%f",num,dCoordinateX,dCoordinateY,nDemand,nTimewindowE,nTimewindowL,dServicetime);
}
fclose(fp);
}
展开
 我来答
曾全4M
2013-12-24 · 超过30用户采纳过TA的回答
知道答主
回答量:206
采纳率:0%
帮助的人:56.5万
展开全部

#include<stdio.h>
#include <stdlib.h>
#include<process.h>
#include<Windows.h>
#define N 101
#define M 2
int main()
{   /*变量定义*/
 int i;
 int num;
 double nDemand;
 double nTimewindowE;
 double nTimewindowL;
 double dCoordinateX;
 double dCoordinateY;
 double dDistance[N][N];
 double dServicetime;
 int nRoutes[20][N];
 int bFlag[N];
 int capacity=200;
 FILE *fp;
 fp=fopen("R101.txt","r");
 if(fp==NULL) 
 {  printf("file open erro!\n");
       //  exit(0); 
 }
 while((!feof(fp)))
 {  
  fscanf(fp,"%d %lf %lf %lf %lf %lf %lf",&num,&dCoordinateX,&dCoordinateY,&nDemand,&nTimewindowE,&nTimewindowL,&dServicetime);
  fprintf(stdout,"%d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f\n",num,dCoordinateX,dCoordinateY,nDemand,nTimewindowE,nTimewindowL,dServicetime);
 }
 fclose(fp);


 system("pause");
 return 0;
}

你那些读取都乱用的%d,%f,%lf要分清好不。全是数字要用什么数组呢

百度网友feee121
2013-12-23 · TA获得超过306个赞
知道小有建树答主
回答量:310
采纳率:100%
帮助的人:364万
展开全部
问题很多。首先fscanf里边的变量除了num其它的你都写的是数组名。其次,文件中的数据之间的空格数不统一,而你在fscanf里的格式控制符之间都没有空格,造成读取数据的时候混乱。再次,你有三个%d是连续读整型,而你的数据中对应的都是浮点型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式