1 条题解
-
0
最难解法:
using namespace std; // 使用标准命名空间(暂时理解成“固定开头”) const int n = 3; // 定义常量n=10,表示我们要排序10个数字 int a[n + 1]; // 定义数组a,有11个位置(0-10),但我们只用1-10来存数字 int main() { // 主函数,程序从这里开始运行 // 第一步:输入10个数字 for (int i = 1; i <= n; ++i) { // 循环10次(i从1到10) cin >> a[i]; // 把输入的数字存到数组a的第i个位置(像给桶编号1-10放数字) } // 第二步:冒泡排序(核心部分) for (int i = 1; i <= n - 1; ++i) { // 外层循环:控制排序轮数(总共n-1轮) for (int j = 1; j <= n - i; ++j) { // 内层循环:每轮比较相邻的两个数字 if (a[j] < a[j + 1]) { // 如果左边的数字比右边小 swap(a[j], a[j + 1]); // 就交换它们(让大的数字往右“冒泡”) } } // 每一轮结束后,当前最大的数字会“沉”到最右边(像泡泡浮到水面) } // 第三步:输出排序后的结果 for (int i = 1; i <= n; ++i) { // 循环打印数组a的1-10号位置 cout << a[i] << " "; // 输出数字,用空格隔开 } cout << endl; // 最后换行(像写完一行字后按回车) return 0; // 程序结束,告诉电脑“一切正常” }
算法
- 1
信息
- ID
- 12
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 6
- 标签
- 递交数
- 22
- 已通过
- 10
- 上传者