期末考试——编程题#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:最远距离的主要内容,如果未能解决你的问题,请参考以下文章

期末考试——编程题#5:字符串插入

期末考试——编程题#4:简单计算器

山东大学软件学院面向对象编程导论期末考试回忆版

中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机

二叉树系列——二叉树的最大距离(即相距最远的两个叶子节点,编程之美,百度面试题)

中国MOOC_零基础学Java语言_期末考试的编程题_1二进制的前导的零