#include<stdio.h>
#include<math.h>
//构造一个结构体数据类型来描述一个花坛
struct Point
{
int x;//x轴坐标
int y;//y轴坐标
double d;//花坛到土堆的距离
int n;//花坛的编号
}; //分号不能丢
//构造一个double computeDist () 函数来计算两点之间的距离
double computeDist (struct Point p)
{
int x0=1;
int y0=-1;
double distance;//定义每个花坛到土堆的距离
distance=sqrt(pow(p.x-x0,2)+pow(p.y-y0,2));//计算距离公式
return distance;
}
//构造一个closetPoint()函数来计算最近邻点,返回为一个点(结构体)的指针
struct Point * closePoint(struct Point x[],int n)
{
struct Point * min;//定义一个指针指向最近的花坛;
min=&x[0];//令这个指针先指向第一个花坛;
(*min).d=computeDist(x[0]);
int i;
for(i=i;i<n;i++)
{ x[i].d=computeDist(x[i]);//计算第i个花坛到土堆的距离
if((*min).d>x[i].d)
{min=&x[i];}//比较各点与(1,-1)之间的距离,令min指向最近的花坛
}
return min;//返回为指针min
//主体
int main()
{
struct Point point[7]={{2,7,0.0,1},{10,5,0.0,2},{8,-2,0.0,3},{7,-6,0.0,4},{-3,-5,0.0,5},{-8,0,0.0,6},{-5,6,0.0,7}};
//构造一个结构体数组来存放我们的7个点,并初始化结构体数组的值
struct Point *point_c;//定义一个指针,指向point中的7个花坛
point_c=closePoint(point,7);//指针指向最近的花坛
printf("最近的花坛为%d号花坛\n其坐标为(%d,%d)",(*point_c).n,(*point_c).x,(*point_c).y);
return 0;
}
error:expected declaration or statement at end of input