欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;

}

另外一种思路:

可以使用两个数组进行计算,表示可能会更简单一些。

相关标签: Coursera