编程题#3:最远距离
描述
给定一组点(x,y),求距离最远的两个点之间的距离。
输入
第一行是点数n(n大于等于2)
接着每一行代表一个点,由两个浮点数x y组成。
输出
输出一行是最远两点之间的距离。
使用cout << fixed << setprecision(4) << dis << endl;输出距离值并精确到小数点后4位。
fixed和setprecision是在<iomanip>头文件里定义的格式控制操作符,需要#include <iomanip>.
#include <iostream> #include <cmath> #include <iomanip> using namespace std; double x[100] = {0}; double y[100] = {0}; double d[10000] = {0}; int main() { int n, k = 0; cin >> n; for (int i = 0; i < n; i++) cin >> x[i] >> y[i]; // 求每两点间距离 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { d[k] = sqrt((x[i]-x[j])*(x[i]-x[j]) + (y[i]-y[j])*(y[i]-y[j])); k++; } } //对距离数组进行排序 for (int i = 0; i < k - 1; i++) for (int j = 0; j < k - 1 - i; j++) { if (d[j + 1] < d[j]) { double temp; temp = d[j]; d[j + 1] = d[j]; d[j] = temp; } } cout << fixed << setprecision(4) << d[k - 1] << endl; return 0; }
人一我百,人十我万!自己选择的路,跪着也要走完。
浙公网安备 33010602011771号