题解 | #整数奇偶排序#

整数奇偶排序

https://www.nowcoder.com/practice/bbbbf26601b6402c9abfa88de5833163

#include <stdio.h>
#include <stdlib.h>


int cmp1(const void* a, const void* b) {
    return *(int*)a < *(int*)b;
}
int cmp2(const void* a, const void* b) {
    return *(int*)a > *(int*)b;
}
int main() {
    int a[10];
    int odd[10], even[10];
    int oddCount = 0, evenCount = 0;

    while (scanf("%d %d %d %d %d %d %d %d %d %d", &a[0], &a[1], &a[2], &a[3], &a[4],
                 &a[5], &a[6], &a[7], &a[8], &a[9]) != EOF) {
        oddCount = evenCount = 0;

        // 将奇数和偶数分别存储在两个数组中
        for (int i = 0; i < 10; i++) {
            if (a[i] % 2 == 1) {
                odd[oddCount++] = a[i];
            } else {
                even[evenCount++] = a[i];
            }
        }

        // 对奇数数组进行降序排序
        qsort(odd, oddCount, sizeof(int), cmp1);
        /*冒泡排序写法
        for (int i = 0; i < oddCount - 1; i++) {
            for (int j = 0; j < oddCount - i - 1; j++) {
                if (odd[j] < odd[j + 1]) {
                    int temp = odd[j];
                    odd[j] = odd[j + 1];
                    odd[j + 1] = temp;
                }
            }
        }        
        */

        // 对偶数数组进行升序排序
        qsort(even, evenCount, sizeof(int), cmp2);
        /*冒泡排序写法
        for (int i = 0; i < evenCount - 1; i++) {
            for (int j = 0; j < evenCount - i - 1; j++) {
                if (even[j] > even[j + 1]) {
                    int temp = even[j];
                    even[j] = even[j + 1];
                    even[j + 1] = temp;
                }
            }
        }
        */


        // 输出排序后的奇数和偶数
        for (int i = 0; i < oddCount; i++) {
            printf("%d ", odd[i]);
        }
        for (int i = 0; i < evenCount; i++) {
            printf("%d ", even[i]);
        }
        printf("\n"); // 每组数据输出后换行
    }
    return 0;
}

全部评论

相关推荐

黑皮白袜臭脚体育生:简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写会更好
点赞 评论 收藏
分享
01-26 18:45
门头沟学院 Java
一天代码十万三:哥们实习再包一下吧,产出太笼统了,尽量体现业务
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务