Coursera 学习记录:浮点型数据计算两点间距离
程序员文章站
2022-03-09 15:24:26
...
描述
给定一组点(x,y),求距离最远的两个点之间的距离。
输入
第一行是点数n(n大于等于2)
接着每一行代表一个点,由两个浮点数x y组成。
输出
输出一行是最远两点之间的距离。
使用cout << fixed << setprecision(4) << dis << endl;输出距离值并精确到小数点后4位。
fixed和setprecision是在<iomanip>头文件里定义的格式控制操作符,需要#include <iomanip>.
样例输入
34.0 23.0
28.1 21.6
14.7 17.1
17.0 27.2
34.7 67.1
29.3 65.1
样例输出
53.8516
注意:一定要使用浮点型!
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
int main() {
int n;
cin >> n;
double length = 0;
double max = 0;
double a[100][2];
for (int i = 0; i < n; i++) {
cin >> a[i][0] >> a[i][1];
}
for (int j = 0; j < n; j++) {
for (int i = 1; i < n - j; i++) {
length = sqrt(((a[j][0] - a[j + i][0])*(a[j][0] - a[j + i][0]))
+ ((a[j][1] - a[j + i][1])*(a[j][1] - a[j + i][1])));
if (length > max) {
max = length;
}
}
}
cout << fixed << setprecision(4) << max << endl;
return 0;
}
另外一种思路:
可以使用两个数组进行计算,表示可能会更简单一些。