#include<stdio.h> int main(){ int a[10],b[11]; int i,t,j; for(i=0;i<10;i++){ scanf("%d",&a[i]);} for(i=0;i<10;i++){b[i]=a[i];} scanf("%d",&b[10]); for(i=0;i<10;i++){ for(j=i+1;j<10;j++){ if(a[i]>a[j]){ t=a[i]; a[i]=a[j]; a[j]=t; } } } for(i=0;i<10;i++){ printf("%3d",a[i]); } printf("\n"); for(i=0;i<11;i++){ for(j=i+1;j<11;j++){ if(b[i]>b[j]){ t=b[i]; b[i]=b[j]; b[j]=t; } } } for(i=0;i<11;i++){ printf("%3d",b[i]);} return 0; }解释一下
时间: 2024-01-10 19:03:56 浏览: 41
这是一段 C 语言代码,主要实现了以下功能:
1. 通过循环读入 10 个整数,并存储在数组 a 中;
2. 将数组 a 复制到数组 b 中;
3. 读入一个整数,并将其存储在数组 b 的最后一个元素 b[10] 中;
4. 对数组 a 进行冒泡排序,并输出排序后的结果;
5. 对数组 b 进行冒泡排序,并输出排序后的结果。
具体来说,第一个循环通过 scanf 函数读入 10 个整数,并依次存储在数组 a 的 10 个元素中;第二个循环则将数组 a 复制到数组 b 中,以备后续使用。第三个 scanf 函数读入一个整数,存储在数组 b 的最后一个元素 b[10] 中。
接下来,第一个排序循环通过双重循环和 if 语句实现冒泡排序,将数组 a 中的元素从小到大排序。具体来说,外层循环控制排序轮数,内层循环控制每轮比较的次数,if 语句则用于判断相邻元素的大小关系,并进行交换。
第二个排序循环同样实现冒泡排序,将数组 b 中的元素从小到大排序。最后,两个循环分别输出排序后的结果,使用 printf 函数将每个元素按照格式 %3d 输出。最后,该代码返回值为 0,表示程序正常结束。
阅读全文