修改下列代码使其输出小数点后两位#include <iostream> #include <cmath> #include <algorithm> using namespace std; class Point { public: double x, y; Point() {} Point(double _x, double _y) : x(_x), y(_y) {} void print() const { cout << "(" << x << ", " << y << ")"; } double distanceTo(const Point& p) const { double dx = x - p.x, dy = y - p.y; return sqrt(dx * dx + dy * dy); } }; bool cmp(const Point& p1, const Point& p2) { double dist1 = p1.distanceTo(Point(0, 0)); double dist2 = p2.distanceTo(Point(0, 0)); return dist1 < dist2; } int main() { Point p[5]; for (int i = 0; i < 5; ++i) { cin >> p[i].x >> p[i].y; } sort(p, p + 5, cmp); cout << "与原点的距离:\n"; for (int i = 0; i < 5; ++i) { cout << p[i].distanceTo(Point(0, 0)) << " "; } cout << endl; return 0; }
时间: 2024-01-15 15:03:33 浏览: 239
在输出距离的部分,可以使用流控制符来限定输出的小数位数。修改一下最后一个for循环,如下所示:
```c++
cout << fixed << setprecision(2) << p[i].distanceTo(Point(0, 0)) << " ";
```
其中,`fixed`表示要输出小数点后固定位数的小数,`setprecision(2)`表示要输出两位小数。
相关问题
#include <iostream> #include<algorithm> #include<cmath> #include <queue> using namespace std;
#include <iostream>:这是C++标准库中的头文件,用于输入输出流操作,包括cin、cout等。
#include<algorithm>:这是C++标准库中的头文件,用于提供各种算法操作,如排序、查找等。
#include<cmath>:这是C++标准库中的头文件,用于提供数学函数操作,如绝对值、平方根等。
#include <queue>:这是C++标准库中的头文件,用于提供队列操作,包括入队、出队等。
using namespace std;:这是C++的命名空间声明,表示使用std命名空间,可以直接使用std中的函数和对象。
#include <iostream> #include <vector> #include <algorithm> #include <queue> using namespace std; s
这段代码是C++语言中的头文件引入部分,用于在程序中引入iostream、vector、algorithm和queue等库,以便使用这些库中的函数和类。其中,iostream库提供了C++输入输出流的功能,vector库提供了可变大小的数组容器,algorithm库提供了常用的算法函数,queue库提供了队列容器的支持。通过这些库,可以方便地进行程序开发和数据处理。
阅读全文