将一个具有20个元素的数组中的中间10个元素按从大到小顺序排序,要求使用冒泡法排序。 输入格式: 在一行中输入20个小于50的整数,数据之间只能用1个空格间隔。 输出格式: 直接输出变化后的数组,每个数输出占4列列宽。
时间: 2024-02-23 22:02:34 浏览: 149
好的,我来给你完整的代码实现。
```c++
#include <iostream>
#include <iomanip>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-1-i; j++) {
if (arr[j] < arr[j+1]) {
swap(arr[j], arr[j+1]);
}
}
}
}
void sortMiddle10(int arr[], int n) {
int temp[10];
for (int i = 5; i < 15; i++) {
temp[i-5] = arr[i];
}
bubbleSort(temp, 10);
for (int i = 5; i < 15; i++) {
arr[i] = temp[i-5];
}
}
int main() {
int arr[20];
for (int i = 0; i < 20; i++) {
cin >> arr[i];
}
sortMiddle10(arr, 20);
for (int i = 0; i < 20; i++) {
cout << setw(4) << arr[i];
}
cout << endl;
return 0;
}
```
这个程序读入20个整数,然后对其中的中间10个元素按从大到小顺序排序,最后输出排序后的数组,每个数输出占4列列宽。注意要包含头文件 `#include <iomanip>`,使用 `setw(4)` 来控制输出宽度。
阅读全文