码迷,mamicode.com
首页 > 其他好文 > 详细

期末考试——编程题#3:最远距离

时间:2016-02-09 19:58:10      阅读:1336      评论:0      收藏:0      [点我收藏+]

标签:

 

来源: 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:最远距离

标签:

原文地址:http://www.cnblogs.com/tygao/p/5185657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!