|  | 
 
 发表于 2021-10-23 13:08:11
|
显示全部楼层 
| 复制代码#include <stdio.h>
#include <math.h>
struct POINTS { double x, y, z; };
int main()
{
    int n;
    printf("请输入坐标的数量:"); scanf("%d", &n);
    struct POINTS p[n];
    for(int i = 0; i < n; i++)
    {
        printf("请输入第 %d 个坐标 x y z:", i+1);
        scanf("%lf %lf %lf", &p[i].x, &p[i].y, &p[i].z);
        getchar();
    }
    for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) if(i != j) printf("坐标 (%.1lf, %.1lf, %.1lf) 和 坐标 (%.1lf, %.1lf, %.1lf) 的距离大约是:%.2lf\n", p[i].x, p[i].y, p[i].z, p[j].x, p[j].y, p[j].z, sqrt(pow(p[i].x-p[j].x, 2) + pow(p[i].y-p[j].y, 2) + pow(p[i].y-p[j].y, 2)));
    return 0;
}
复制代码请输入坐标的数量:2
请输入第 1 个坐标 x y z:3 4 5
请输入第 2 个坐标 x y z:5 4 3
坐标 (3.0, 4.0, 5.0) 和 坐: (5.0, 4.0, 3.0) 的距离大约是:2.00
坐标 (5.0, 4.0, 3.0) 和 坐标 (3.0, 4.0, 5.0) 的距离大约是:2.00
 | 
 |