这题C语言太复杂了,我也不会,C++的函数好理解一点
#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
struct st
{
int id;
double value;
}arr[210];
bool cmp(st a,st b)
{
if(a.value!=b.value)
return a.value<b.value;
else return a.id<b.id;
}
int main()
{
int i,n,j,X,Y,x,y;
scanf("%d %d %d",&n,&X,&Y);
for(i=0;i<n;i++)
{
scanf("%d %d",&x,&y);
arr[i].value=sqrt(pow(X-x,2.0)+pow(Y-y,2.0));
arr[i].id=i;
}
sort(arr,arr+n,cmp);
printf("%d\n%d\n%d",arr[0].id+1,arr[1].id+1,arr[2].id+1);
return 0;
}