期末考试——编程题#3:最远距离
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了期末考试——编程题#3:最远距离相关的知识,希望对你有一定的参考价值。
来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
注意: 总时间限制: 1000ms 内存限制: 65536kB
描述
给定一组点(x,y),求距离最远的两个点之间的距离。
输入
第一行是点数n(n大于等于2)
接着每一行代表一个点,由两个浮点数x y组成。
输出
输出一行是最远两点之间的距离。
使用cout << fixed << setprecision(4) << dis << endl;输出距离值并精确到小数点后4位。
fixed和setprecision是在<iomanip>头文件里定义的格式控制操作符,需要#include <iomanip>.
样例输入
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
样例输出
53.8516
1 #include<iostream> 2 #include<iomanip> 3 #include<cmath> 4 int main() 5 { 6 using namespace std; 7 int num; 8 double x[100], y[100], max = 0; 9 cin >> num; 10 if (num < 2) 11 cout << "error!"; 12 else 13 { 14 15 for (int i = 0; i < num; i++) 16 { 17 cin >> x[i] >> y[i]; 18 } 19 for (int i = 0; i < num - 1; i++) 20 for (int j = i; j < num - 1; j++) 21 { 22 double a = sqrt((x[i] - x[j + 1])*(x[i] - x[j + 1]) + (y[i] - y[j + 1])*(y[i] - y[j + 1])); 23 if (a > max) { 24 max = a; 25 } 26 } 27 cout << fixed << setprecision(4) << max << endl; 28 } 29 return 0; 30 }
以上是关于期末考试——编程题#3:最远距离的主要内容,如果未能解决你的问题,请参考以下文章
中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机