以下是示例代码:

#include <stdio.h>
#include <math.h>

int main()
{
    float x[5], y[5], min_dist = INFINITY;
    int point1, point2;

    printf("请输入五个点的坐标(x,y):\n");
    for (int i = 0; i < 5; i++) {
        scanf("%f %f", &x[i], &y[i]);
    }

    for (int i = 0; i < 4; i++) {
        for (int j = i + 1; j < 5; j++) {
            float dist = sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2));
            if (dist < min_dist) {
                min_dist = dist;
                point1 = i;
                point2 = j;
            }
        }
    }

    printf("距离最近的两个点为 (%.2f,%.2f) 和 (%.2f,%.2f),距离为 %.2f\n", x[point1], y[point1], x[point2], y[point2], min_dist);

    return 0;
}

说明:

  1. 首先定义了两个数组 xy 分别用于存储五个点的横坐标和纵坐标;

  2. 使用循环语句 for 分别输入五个点的坐标;

  3. 使用两层嵌套的循环语句 for,枚举每两个点之间的距离,计算出最小距离和对应的两个点的下标;

  4. 最后输出距离最近的两个点的坐标和距离。其中,使用了数学库 <math.h> 中的函数 sqrtpow 分别计算平方根和幂次方

c语言程序设计输入五个点float型输出哪两个点间的距离最近。

原文地址: https://www.cveoy.top/t/topic/f3Vk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录