Run ID:113770

提交时间:2025-03-16 14:17:20

#include<bits/stdc++.h> using namespace std; int a[2001]; int main(){ int n; // 从标准输入读取数组的元素个数 n cin >> n; // 使用循环遍历数组,从标准输入读取 n 个整数存入数组 a 中 // 因为每一轮排序会将当前未排序部分的最大元素放到正确的位置(末尾) for(int i = 0;i < n;i++){ cin >> a[i]; } for(int i = 0;i < n-1;i++){ // 这里内层循环的变量名与外层循环变量名相同(都为 i),这是一个错误 // 会导致外层循环的 i 变量在内层循环中被重新定义,影响外层循环的正确执行 // 正确的做法应该使用不同的变量名,比如 j for(int j = 0;j < n-1;j++){ // 如果当前元素 a[i] 大于下一个元素 a[i + 1] // 则交换这两个元素的值,目的是实现从小到大排序 if(a[j] > a[j+1]){ swap(a[j],a[j+1]); } } // 使用循环遍历数组,将排序后的数组元素依次输出到标准输出,元素之间用空格分隔 for(int i = 0;i < n;i++){ cout << a[i] << " "; } //要换行 cout << endl; } return 0; }