

#include<stdio.h>
#include<math.h>
struct point
{ double x,y,z;
}a[10004];
double dist2(double a, double b,double c,double d)
{ double dx,dy;
dx=a-c; dy=b-d;
return sqrt(dx*dx+dy*dy);
}
int main()
{
int i,n,j;
double rx,s,ry,rz,min,x0,y0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%lf%lf%lf",&a[i].x,&a[i].y,&a[i].z);
rx=dist2(a[0].x,a[0].y,a[1].x,a[1].y)/2;
x0=(a[0].x+a[1].x)/2;y0=(a[0].y+a[1].y)/2;
for(j=2;j<n;j++)
{
s=dist2(x0,y0,a[j].x,a[j].y);
if(s>rx)
{ x0=(a[0].x+a[j].x)/2;y0=(a[0].y+a[j].y)/2;
rx=dist2(a[0].x,a[0].y,a[j].x,a[j].y)/2;
}
}
ry=dist2(a[0].y,a[0].z,a[1].y,a[1].z)/2;
x0=(a[0].y+a[1].y)/2;y0=(a[0].z+a[1].z)/2;
for(j=2;j<n;j++)
{
s=dist2(x0,y0,a[j].y,a[j].z);
if(s>ry)
{ x0=(a[0].y+a[j].y)/2;y0=(a[0].z+a[j].z)/2;
ry=dist2(a[0].y,a[0].z,a[j].y,a[j].z)/2;
}
}
rz=dist2(a[0].x,a[0].z,a[1].x,a[1].z)/2;
x0=(a[0].x+a[1].x)/2;y0=(a[0].z+a[1].z)/2;
for(j=2;j<n;j++)
{
s=dist2(x0,y0,a[j].x,a[j].z);
if(s>rz)
{
rz=dist2(a[0].x,a[0].z,a[j].x,a[j].z)/2;
x0=(a[0].x+a[j].x)/2;y0=(a[0].z+a[j].z)/2;
}
}
double h[3];
h[0]=2*rx;h[1]=2*ry;h[2]=2*rz;
min=h[0];
for(i=1;i<3;i++)
{
if(min>h[i])
min=h[i];
}
printf("%.5lf",min);
return 0;
}
这样写哪里错了,怎么改