输入 10 个数,按绝对值从大到小排序后输出。(要求用指针做) 【输入形式】输入10个float实数 【输出形式】以小数点后两位有效数字输出从大到小数列! 【样例输入】11.3 -24.1 31.6 -41 57.6 -68.1 72.5 -89.7 96.8 -100.3 【样例输出】 -100.30,96.80,-89.70,75.50,-68.10,57.60,-41.00,31.60,-24.10,11.30
时间: 2023-11-27 09:50:32 浏览: 93
以下是 C++ 的代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
void sort_abs(float *arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (fabs(arr[j]) > fabs(arr[i])) {
float temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
int main() {
float arr[10];
for (int i = 0; i < 10; i++) {
cin >> arr[i];
}
sort_abs(arr, 10);
for (int i = 0; i < 10; i++) {
printf("%.2f", arr[i]);
if (i != 9) {
cout << ",";
}
}
return 0;
}
```
首先定义了一个 `sort_abs` 函数,用于按绝对值从大到小排序。接着在 `main` 函数中读入 10 个数,再调用 `sort_abs` 函数进行排序,最后输出排好序的数列即可。注意小数点后两位有效数字的输出方式。
阅读全文