为什么oj上面过不了嘞?谢谢帮助啦!!!(按它给的输入输出是对的)
  • 板块题目总版
  • 楼主sam__
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/12/6 21:49
  • 上次更新2023/10/27 00:15:30
查看原帖
为什么oj上面过不了嘞?谢谢帮助啦!!!(按它给的输入输出是对的)
812985
sam__楼主2022/12/6 21:49

题目

由键盘输入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;
}
2022/12/6 21:49
加载中...