0023 用冒泡排序算法对20个数进行排序后输出,并输出每个元素多对应的原来的次序...

该代码实例演示了如何使用冒泡排序算法对20个整数进行排序,并同时输出排序后的序列及其在原序列中的位置。程序首先初始化一个已排序的序列,然后读取20个待排序的数字,通过冒泡排序进行排序,并最终打印排序结果和原始次序。
摘要由CSDN通过智能技术生成

问题描述:

  用冒泡排序算法对20个数进行排序后输出,并输出每个元素多对应的原来的次序

代码展示:

 1 #include<stdio.h>
 2 void BubbleSort(int a[][20]);
 3 int main(){
 4     int a[2][20];
 5     int i,j;
 6     int x;
 7     for(i=0;i<20;i++){
 8         a[0][i] = i+1;
 9     }
10     for(i=0;i<20;i++){
11         scanf("%d",&a[1][i]);
12     }
13     BubbleSort(a);
14     printf("排序后的序列为:"); 
15     for(i=0;i<20;i++){
16         printf("%d ",a[1][i]);
17     }
18     printf("\n排序后的序列的原次序为:"); 
19     for(i=0;i<20;i++){
20         printf("%d ",a[0][i]);
21     }
22     
23     return 0;
24 } 
25 void BubbleSort(int a[][20]){
26     int flag;
27     int i,j;
28     int temp;
29     for(i=0;i<20;i++){
30         flag = 1;
31         for(j=1;j<20-i;j++){
32             if(a[1][j-1]>a[1][j]){
33                 temp = a[1][j-1];        //元素交换 
34                 a[1][j-1] = a[1][j];
35                 a[1][j] = temp;
36                 temp = a[0][j-1];        //位序交换 
37                 a[0][j-1] = a[0][j];
38                 a[0][j] = temp;
39                 flag = 0;
40             }
41         }
42         if(flag == 1){
43             return;
44         }
45     }
46     return;
47 }

运行截图:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空梦♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值