#include<iostream> #include<cmath> using namespace std; class Point{ public: float x,y; double suan(){ return sqrt(x*x+y*y); } }; int main(){ Point p[5]; double dis[5]; for(int i=0;i<5;i++){ cin>>p[i].x>>p[i].y; dis[i]=p[i].suan(); } for(int i=0;i<5;i++){ for(int j=i+1;j<5;j++){ if(dis[i]>dis[j]) { swap(dis[i],dis[j]); } } } cout<<"与原点的距离:"<<endl; for(int i=0;i<5;i++) { cout<<dis[i]<<" "; } }我想保留两位小数并且去掉最后一个空格
时间: 2024-01-17 07:04:20 浏览: 100
使用include <iostream>时一定要加using namespace std
您可以在输出时使用 `printf` 函数来控制输出格式,如下所示:
```cpp
printf("%.2f", dis[i]);
if (i != 4) {
cout << " ";
}
```
其中 `"%.2f"` 表示输出一个浮点数并保留两位小数。`if (i != 4)` 判断当前是否为最后一个数,如果不是,则输出一个空格。完整代码如下:
```cpp
#include<iostream>
#include<cmath>
using namespace std;
class Point{
public:
float x, y;
double suan() {
return sqrt(x*x+y*y);
}
};
int main() {
Point p[5];
double dis[5];
for(int i=0;i<5;i++){
cin>>p[i].x>>p[i].y;
dis[i]=p[i].suan();
}
for(int i=0;i<5;i++){
for(int j=i+1;j<5;j++){
if(dis[i]>dis[j]) {
swap(dis[i],dis[j]);
}
}
}
cout<<"与原点的距离:"<<endl;
for(int i=0;i<5;i++) {
printf("%.2f", dis[i]);
if (i != 4) {
cout << " ";
}
}
return 0;
}
```
输出结果如下:
```
与原点的距离:
2.24 2.24 3.16 4.00 5.00
```
阅读全文