代码解析:
c
输入部分:通过for循环读取 5 个整数存入数组arr,利用scanf获取键盘输入。(以5个数为例,可任意改变数字多少)
排序部分:采用冒泡排序:
外层循环控制 "排序轮数"(5 个元素需 4 轮,每轮确定 1 个最大元素的位置);
内层循环控制 "每轮比较次数"(j<4-i是优化写法,每轮比较次数随已排好的元素数量减少,提升效率);
通过交换操作,将较大的元素逐步 "移动" 到数组末尾。
输出部分:补全了循环打印逻辑,遍历数组输出排序后的元素。
完整代码:
C
#include <stdio.h>
int main() {
// 定义存储5个数字的数组
int arr[5];
// 从键盘输入5个数字
for(int i=0; i<5; i++){
scanf("%d", &arr[i]);
}
// 冒泡排序(从小到大)
for(int i=0; i<4; i++){ // 共进行4轮排序(5个元素只需排4轮)
// 每轮将当前最大的元素"冒泡"到末尾,内层循环次数逐轮减少
for(int j=0; j<4-i; j++){
if(arr[j] > arr[j+1]){ // 若前一个元素大于后一个,交换位置
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
// 打印排序后的结果
printf("排序后的结果:");
for(int i=0; i<5; i++){
printf("%d ", arr[i]);
}
return 0;
}
运行结果:
