最远距离

问题描述
给定一组点(x,y),求距离最远的两个点之间的距离。
输入
第一行是点数n(n大于等于2)
接着每一行表明一个点,由两个浮点数x y组成。
输出
输出一行是最远两点之间的距离。
使用cout << fixed << setprecision(4) << dis << endl;输出距离值并精确到小数点后4位。
fixed和setprecision是在头文件里定义的格式控制操做符,须要#include .
输入示例ios

6
34.0 23.0
28.1 21.6
14.7 17.1
17.0 27.2
34.7 67.1
29.3 65.1

输出示例web

53.8516

提示
注意在内部计算时最好使用double类型,但在用scanf读取数据时只能用float类型的变量。
源码svg

#include <iostream>
#include <vector>
#include <math.h>
#include <iomanip>
using namespace std;

int main()
{
    int n = 0;
    cin >> n;
    vector<float> PointX(n, 0), PointY(n, 0);
    float DisTemp = 0, DisBiggest = 0;
    for (int i = 0; i < n; i++)
    {
        cin >> PointX[i] >> PointY[i];
    }

    for (int i = 0; i < n-1; i++)
    {
        for (int j = i+1; j < n; j++)
        {
            DisTemp = sqrt((PointX[i]-PointX[j])*(PointX[i]-PointX[j])+(PointY[i]-PointY[j])*(PointY[i]-PointY[j]));
            if (DisTemp > DisBiggest)
            {
                DisBiggest = DisTemp;
            }
        }
    }

    cout << fixed << setprecision(4) << DisBiggest << endl;
    return 0;
}