以下是一个用C++编写的冒泡排序程序,该程序会对任意输入的n个整数(1 <= n <= 100)进行排序,并按照要求输出每轮未排序的数据以及最终的排序结果: ```cpp #include <iostream> #include <vector> void bubbleSort(std::vector<int>& arr) { int n = arr.size(); for (int i = 0; i < n - 1; ++i) { std::cout << "Round " << i + 1 << " "; for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) { std::swap(arr[j], arr[j + 1]); } } // 输出当前轮次未排序的数据 for (int k = 0; k < n; ++k) { std::cout << arr[k]; if (k < n - 1) { std::cout << " "; } } std::cout << std::endl; } } int main() { int n; std::cout << "Enter the number of integers (1 <= n <= 100): "; std::cin >> n; if (n < 1 || n > 100) { std::cerr << "Error: The number of integers must be between 1 and 100." << std::endl; return 1; } std::vector<int> arr(n); std::cout << "Enter the integers: "; for (int i = 0; i < n; ++i) { std::cin >> arr[i]; } bubbleSort(arr); std::cout << "Sorted integers: "; for (int i = 0; i < n; ++i) { std::cout << arr[i]; if (i < n - 1) { std::cout << " "; } } std::cout << std::endl; return 0; } ``` 程序说明: 1. 输入部分: - 首先,用户输入整数的数量`n`,并确保`n`在1到100之间。 - 然后,用户输入`n`个整数,存储在`std::vector<int>`中。 2. 冒泡排序部分: - 使用两层循环进行冒泡排序。 - 在外层循环中,每次迭代代表一轮排序。 - 在内层循环中,比较相邻元素并交换它们(如果前一个比后一个大)。 - 每完成一轮排序后,输出当前轮次的数据,数据之间用空格分隔。 3. 输出部分: - 冒泡排序完成后,输出最终的排序结果。 示例输出: 假设输入如下: ``` Enter the number of integers (1 <= n <= 100): 5 Enter the integers: 5 2 9 1 5 ``` 输出将类似于: ``` Round 1 5 2 5 1 9 Round 2 2 5 1 5 9 Round 3 2 1 5 5 9 Round 4 1 2 5 5 9 Sorted integers: 1 2 5 5 9 ``` 希望这个示例能满足你的需求! [2024-11-10 16:01:05 | AI写代码神器 | 823点数解答]