我的理想—软件工程师:谁帮我看看我的程序错在哪里了?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 20:48:50
#define N 36
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double x[N],y[N];
void readdat()
{FILE *fr;
int i;
fr=fopen("input.dat","r");
if(fr==NULL)
{printf("File not found!\n");
exit(0);
}
for(i=0;i<N;i++)
{printf("x[%d],y[%d]:",i+1,i+1);

fscanf(fr,"%f",&x[i]);
printf("(%5.3f,",x[i]);

fscanf(fr,"%f",&y[i]);
printf("%5.3f)|",y[i]);
}
printf("End,now close the file.\n");
fclose(fr);
}
double dist(float px,float py,float qx,float qy)
{double d;
d=sqrt((px-qx)*(px-qx)+(py-qy)*(py-qy));
return d;
}
void main()
{ int i,j,c,count;
int k[N];
double r=0,d,dmin=10;
double p[N],q[N];
double X[N],Y[N];
double rx[N],ry[N];
readdat();

for(i=0;i<N;i++)
{rx[i]=x[i];
ry[i]=y[i];
}

for(count=0;count<999;count++)
{
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
if(j!=i)
{d=dist(x[i],y[i],x[j],y[j]);
if(d<dmin)
{dmin=d;
k[i]=j; p[j]=x[j]; q[j]=y[j];
}
}
x[i]=(x[i]+p[k[i]])/2.0;
y[i]=(y[i]+q[k[i]])/2.0;
X[i]=x[i]*10; Y[i]=y[i]*10; printf("%f,%f",X[i],Y[i]);
}
for(c=1;c<N;c++)
if(X[c]-X[0]>0.01||Y[c]-Y[0]>0.01)
break;
if(c==N-1){printf("center=(%5.3f,%5.3f)",x[0],y[0]); break; }
else
if(count==999)
{printf("Can't find the center!\n");
break;
}
}
dmin=10.1; d=9.9;
for(i=0;i<N;i++)
{printf("(%5.3f,%5.3f)",x[i],y[i]);
rx[i]=dist(rx[i],ry[i],x[(N-i)/2],y[(N-i)/2]);
if(rx[i]<dmin) dmin=rx[i];
if(rx[i]>d) d=rx[i];
r+=rx[i];
}
r/=N+1;
printf("rmin=%5.3f,rmax=%5.3f,r=%5.3f.",dmin,d,r);
if(abs(dmin-10.0)>0.106||abs(d-10.0)>0.106)
printf("Bad!");
else printf("Good!");
getchar();
}
错误总是出在数据类型的定义上,可是我又改不出错误,而且debug栏还出现找不到dll文件的信息

main()
{int a=5,b=7,c=-1; 因为你这里已经定义了一个C,重定义了!
float x=67.8564,y=-789.124;
char c='A';<----重新定义它!
long n=1234567;
unsigned u=65535;
QQ16806008