使用c++语言,1. 数组排序。使用冒泡法,要求对用户从控制台输入的10个整数排序,并输出排序过程中每一轮排序后的结果。
时间: 2024-02-19 11:03:50 浏览: 26
以下是一个基于冒泡排序的数组排序的示例代码,可以满足你的要求:
```
#include <iostream>
using namespace std;
int main()
{
const int SIZE = 10; // 数组大小
int arr[SIZE]; // 定义数组
// 从控制台输入10个整数
cout << "请输入10个整数:";
for (int i = 0; i < SIZE; i++) {
cin >> arr[i];
}
// 冒泡排序,并输出每一轮排序后的结果
for (int i = 0; i < SIZE - 1; i++) {
bool swapped = false; // 标记本轮是否有交换
for (int j = 0; j < SIZE - 1 - i; j++) {
if (arr[j] > arr[j+1]) {
swap(arr[j], arr[j+1]); // 交换相邻两个元素
swapped = true;
}
}
// 如果本轮没有交换,说明已经排好序,可以提前退出循环
if (!swapped) {
break;
}
// 输出本轮排序后的结果
cout << "第" << i+1 << "轮排序结果:";
for (int k = 0; k < SIZE; k++) {
cout << arr[k] << " ";
}
cout << endl;
}
// 输出最终排序结果
cout << "排序后的结果:";
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果示例:
```
请输入10个整数:6 9 1 3 8 2 5 4 7 0
第1轮排序结果:6 1 3 8 2 5 4 7 0 9
第2轮排序结果:1 3 6 2 5 4 7 0 8 9
第3轮排序结果:1 3 2 5 4 6 0 7 8 9
第4轮排序结果:1 2 3 4 5 0 6 7 8 9
第5轮排序结果:1 2 3 4 0 5 6 7 8 9
第6轮排序结果:1 2 3 0 4 5 6 7 8 9
第7轮排序结果:1 2 0 3 4 5 6 7 8 9
第8轮排序结果:1 0 2 3 4 5 6 7 8 9
第9轮排序结果:0 1 2 3 4 5 6 7 8 9
排序后的结果:0 1 2 3 4 5 6 7 8 9
```