2301_76679591 2023-04-17 21:53 采纳率: 100%
浏览 44
已结题

c语言问题希望大家指导一下

输入一个3×3的二维整数矩阵,分别采用冒泡法、交换法编程实现对这9个数字从小到大进行排序,并输出。
例如,输入为: ,则输出为: 。
【其中选择法排序的思路提示:设有10个元素a[1]a[10],将a[1]与a[2]a[10]比较,若a[1]比a[2]a[10]都小,则不进行交换,即无任何操作。若a[2]a[10]中有一个以上比a[1]小,则将其中最小的一个(假设为a[i])与a[1]交换,此时a[1]中存放了10个中最小的数。第二轮将a[2]与a[3]a[10]比较,将剩下9个数中的最小值a[i]与a[2]对换,此时a[2]中存放的是10个中第二小的数。以此类推,共进行9轮比较,a[1]a[10]就已按由小到大的顺序存放了。】

  • 写回答

4条回答 默认 最新

  • 语言-逆行者 2023-04-17 22:24
    关注

    参考学习:

    #include <stdio.h>
    
    void bubble_sort(int arr[3][3], int len) {
        int i, j, temp;
        for (i = 0; i < len - 1; i++) {
            for (j = 0; j < len - 1 - i; j++) {
                if (arr[j][0] > arr[j + 1][0]) {
                    temp = arr[j][0];
                    arr[j][0] = arr[j + 1][0];
                    arr[j + 1][0] = temp;
                }
            }
        }
    }
    
    void exchange_sort(int arr[3][3], int len) {
        int i, j, temp;
        for (i = 0; i < len - 1; i++) {
            for (j = i + 1; j < len; j++) {
                if (arr[i][0] > arr[j][0]) {
                    temp = arr[i][0];
                    arr[i][0] = arr[j][0];
                    arr[j][0] = temp;
                }
            }
        }
    }
    
    int main() {
        int matrix[3][3];
        int i, j;
    
        // 输入矩阵
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
                scanf("%d", &matrix[i][j]);
            }
        }
    
        // 冒泡排序
        bubble_sort(matrix, 9);
    
        // 输出排序结果
        printf("冒泡排序结果:\n");
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
                printf("%d ", matrix[i][j]);
            }
            printf("\n");
        }
    
        // 交换排序
        exchange_sort(matrix, 9);
    
        // 输出排序结果
        printf("交换排序结果:\n");
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 3; j++) {
                printf("%d ", matrix[i][j]);
            }
            printf("\n");
        }
    
        return 0;
    }
    
    
    

    以上代码中,定义了两个函数 bubble_sort 和 exchange_sort 分别代表冒泡法排序和交换法排序。在主函数中,首先输入一个3x3的矩阵;然后使用冒泡法和交换法对这9个数字从小到大进行排序,并输出排序结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月17日

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动