标题:我的程序编译之后,没问题,就是要输入一个数据文件名,我建了一个txt的文件 ...
只看楼主
随风而去兮
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-1-4
结帖率:0
已结贴  问题点数:20 回复次数:9 
我的程序编译之后,没问题,就是要输入一个数据文件名,我建了一个txt的文件,输入之后还是错了,请大神指点
[color=#FF0000]# include"stdio.h"
# include"malloc.h"
# include"math.h"
# include<conio.h>
void CGM(int n,float*w,float*h,float*x,float*y,float*d,float*x0,float*y0,float*h0);
void main()
{int n,i;
float*d,*x,*y,*w,*h,x0,y0,h0,x1,y1,h1;
FILE*fp;
char fn[80];
printf("输入数据文件名:");
scanf("%s",fn);
fp=fopen(fn,"r");
fscanf(fp,"%d,&n");
x=(float *)malloc  (sizeof(float)*n);
y=(float *)malloc  (sizeof(float)*n);
w=(float *)malloc  (sizeof(float)*n);
d=(float *)malloc (sizeof(float)*n);
for(i=0;i<n;i++)
{fscanf(fp,"%f%f%f%f",&w[i],&h[i],&x[i],&y[i]);
}
CGM(n,w,h,x,y,d,&x0,&y0,&h0);
getch();

}[/color]
void CGM(int n,float*w,float*h,float*x,float*y,float*d,float*x0,float*y0,float*h0)
{float x1,y1;
float spx,spy,sa;
int i;
float hk_1,hk,dhx,dhy;
int f=0;
spx=0;spy=0;sa=0;
for(i=0;i<n;i++)
{spx+=h[i]*w[i]*x[i];
spy+=h[i]*w[i]*x[i];
sa+=h[i]*w[i];
}
x1=spx/sa;y1=spy/sa;
printf("XkYkDhxDhyHk");
while(1){
    for(i=0;i<n;i++){
d[i]=float(sqrt((x1-x[i])*(x1-x[i])+(y1-y[i])*(y1-y[i])));
}
hk=0;
for(i=0;i<n;i++){
hk+=h[i]*w[i]*d[i];
}
dhx=0;dhy=0;
for(i=0;i<n;i++){
dhx+=h[i]*w[i]*(x1-x[i])/d[i];
dhy+=h[i]*w[i]*(y1-y[i])/d[i];
}
printf("xk=%8.4fyk=%8.4fdhx=%8.4fdhy=%8.4fhk=%8.4f\n",x1,y1,dhx,dhy,hk);
spx=0;spy=0;sa=0;
for(i=0;i<n;i++){
spx+=h[i]*w[i]*x[i]/d[i];
spy+=h[i]*w[i]*y[i]/d[i];
sa+=h[i]*w[i]/d[i];
}
x1=spx/sa;y1=spy/sa;
if(f==0){
f=1;
hk_1=hk;
}else{
if(hk_1<hk)break;
hk_1=hk;
}
}
}
搜索更多相关主题的帖子: void include 
2013-01-04 21:24
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3450
专家分:19340
注 册:2012-3-31
得分:3 
看看!!

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2013-01-04 21:33
麦香
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:65
专家分:163
注 册:2011-10-18
得分:3 
这这...只能看看了

你们要进窄门,因为引向灭亡的门是宽的,路是大的,进去的人也多。
2013-01-04 21:34
赤血之魂
Rank: 2
等 级:论坛游民
帖 子:109
专家分:86
注 册:2012-3-22
得分:3 
哇!好长啊!!

让平淡诉说非凡!
2013-01-04 21:35
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:3 
fscanf(fp,"%d,&n");
这样写可以吗?

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-04 21:37
mutouren123
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2012-7-5
得分:3 
那个 函数的参数过长了,~~~
判断文件打开是否成功啊~~~
那个txt文件 里面存放的数据,存储的方式,不是分 文件流  和 二进制流么?
2013-01-04 22:08
随风而去兮
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-1-4
得分:0 
回复 6楼 mutouren123
文件能打开,程序也没有错误,就是不能运行,一运行就停止了
2013-01-05 20:16
随风而去兮
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-1-4
得分:0 
回复 5楼 yaobao
我再看看
2013-01-05 20:17
乐呵乐呵
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2013-1-8
得分:3 
你的意思是不是打不开那个数据文件名?然后就不能讲数据读取进入你这个程序,所以实现不了你程序的功能?
2013-01-08 10:56
乐呵乐呵
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2013-1-8
得分:0 
原来可以打开文件,那不清楚了
2013-01-08 10:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-395079-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.127450 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved