题目
由键盘输入n(n<50)个点的坐标x,y(x,y<1000,浮点数),计算出最近两个点的距离。(保留三位小数)
输入格式
输入第一个整数为有n个点,此后分别为n个的坐标x y
输入样例
3
0 0
1 2
2 2
输出样例
1.000
我的代码
#include <stdlib.h>
#include <math.h>
int D(double a,double b,double c,double e)
{
int d;
d=sqrt(pow(a-c,2)+pow(b-e,2));
return d;
}
int main()
{
int n;
scanf("%d",&n);
int i,j;
double a[n][2];
for(i=0;i<n;i++)
{
for(j=0;j<2;j++)
{
scanf("%lf",&a[i][j]);
}
}
double min=D(a[0][0],a[0][1],a[1][0],a[1][1]);
for(i=1;i<n-1;i++)
{
for(j=0;j<1;j++)
{
if(min>D(a[i][j],a[i][j+1],a[i+1][j],a[i+1][j+1]));
{
min=D(a[i][j],a[i][j+1],a[i+1][j],a[i+1][j+1]);
}
}
}
printf("%.3f",min);
return 0;
}