两个二维数组的数值大小比较

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int main() {

    srand(time(NULL));

    int a;

    int d[10]={0}, e[10]={0};

    int c[10][10];

    for (int i = 0; i < 2; i++) {

        for (a = 0; a < 3; a++) {

            c[i][a] = { 10 + rand() % 90};

        }

    }

    for (int i = 0; i < 2; i++) {

        for (a = 0; a < 3; a++) {

                printf("%d", c[i][a]);

            

        }

        printf("\n");

    }

    for (a = 0; a <= 3; a++) {

        d[1] += c[0][a];

        e[1] += c[1][a];

            if (d[1]>e[1]) {

                printf("大的数:");

                for(a=0;a<3;a++)

                printf("%d", c[0][a]);

            }

            else {

                printf("大的数:");

                for(a=0;a<3;a++)

                printf("%d", c[1][a]);

            }

    }

    return 0;

}

 

 

在C语言中,你可以使用标准库中的qsort函数对二维数组进行排序,但通常我们先需要提取一列元素到一个一维数组,然后对这个一维数组进行排序,最后根据排序结果重新组织二维数组。这里假设你要按照二维数组的某一列(索引从0开始计数)来进行升序排序。 首先,你需要定义一个比较函数,用于qsort处理。该函数接受两个指针,指向要比较两个元素,返回值决定了它们的相对顺序。对于降序排列,你可以在比较时取反差。 ```c // 假设arr是一个二维整型数组,col_index是你想要排序的那一列的索引 void compare(const void *a, const void *b, size_t size, int (*compar)(const void *, const void *)) { const int *pa = (const int *)((char *)a + sizeof(int) * col_index); const int *pb = (const int *)((char *)b + sizeof(int) * col_index); return compar(pb, pa); // 对于降序,返回值取反即可 } int compare_ints(const void *a, const void *b) { return (*(const int *)a - *(const int *)b); } ``` 接下来,你可以调用qsort对一列元素进行排序: ```c int arr[rows][cols]; int column_data[rows]; // 用于存放一列的元素 for (int i = 0; i < rows; ++i) { column_data[i] = arr[i][col_index]; } qsort(column_data, rows, sizeof(int), compare_ints); // 现在column_data已经按照列值排序了 ``` 现在你可以根据column_data的新顺序调整二维数组arr: ```c for (int i = 0; i < rows; ++i) { arr[i][col_index] = column_data[i]; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值