c++第11章的真题预测题

img

#include <stdio.h>
#include <math.h>
typedef struct _point
{
    double x,y,z;
}point;
double GetDist(point p1,point p2)
{
    double x,y,z;
    x=fabs(p1.x-p2.x);
    y=fabs(p1.y-p2.y);
    z=fabs(p1.z-p2.z);
    return sqrt(x*x+y*y+z*z);
}
void fun(double *p,int n)
{
    int i,j;
    double t;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
        {
            if(p[j] > p[j+1])
            {
                t = p[j];
                p[j] = p[j+1];
                p[j+1]  = t;
            }
        }
}
int main()
{
      point pts[5];  //此处坐标自己初始化一下没问题吧?
      double dist[4];
      int i;
      FILE *fp = NULL;
      for(i=0;i<4;i++)
          dist[i] = GetDist(pts[0],pts[i+1]);
      fun(dist,4);
      fp = fopen("result.txt","w");
      if(fp != NULL)
      {
             fprintf(fp,"%lf\t%lf\t%lf\t%lf",dist[0],dist[1],dist[2],dist[3]);
             fclose(fp);
      }
      return 0;
}