当前位置: 首页> 教育> 幼教 > 首页模板_室内设计课程网络课程_搜索引擎优化关键词_广告资源对接平台

首页模板_室内设计课程网络课程_搜索引擎优化关键词_广告资源对接平台

时间:2025/7/13 3:49:16来源:https://blog.csdn.net/qq_41840843/article/details/144252415 浏览次数:0次
首页模板_室内设计课程网络课程_搜索引擎优化关键词_广告资源对接平台

整数奇偶排序

      • C语言代码
      • C++ 代码
      • Java代码
      • Python代码


💐The Begin💐点点关注,收藏不迷路💐

给定10个整数的序列,要求对其重新排序。排序要求:

1.奇数在前,偶数在后;

2.奇数按从大到小排序;

3.偶数按从小到大排序。

输入

输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于100。

输出

按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。
样例输入

4 7 3 13 11 12 0 47 34 98

样例输出

47 13 11 7 3 0 4 12 34 98

C语言代码

#include <stdio.h>

// 交换两个整数的函数
void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    int n = 10;
    int num;
    int p = 0;
    int q = 0;
    int a[11]; // 存储奇数,多留一位方便操作
    int b[11]; // 存储偶数,多留一位方便操作

    // 循环读取10个整数
    for (int i = 0; i < n; i++) {
        scanf(“%d”, &num);
        if (num % 2 == 1) { // 如果是奇数
            a[++p] = num; // 将奇数存入数组a
        } else {
            b[++q] = num; // 将偶数存入数组b
        }
    }

    // 对奇数数组进行从大到小的选择排序
    for (int i = 1; i < p; i++) {
        for (int j = i + 1; j <= p; j++) {
            if (a[i] < a[j]) { // 如果前面的奇数小于后面的奇数
                swap(&a[i], &a[j]); // 交换它们的位置
            }
        }
    }

    // 对偶数数组进行从小到大的选择排序
    for (int i = 1; i < q; i++) {
        for (int j = i + 1; j <= q; j++) {
            if (b[i] > b[j]) { // 如果前面的偶数大于后面的偶数
                swap(&b[i], &b[j]); // 交换它们的位置
            }
        }
    }

    // 输出排序后的奇数
    for (int i = 1; i <= p; i++) {
        printf("%d “, a[i]);
    }
    // 输出排序后的偶数
    for (int i = 1; i <= q; i++) {
        printf(”%d ", b[i]);
    }

    return 0;
}

C++ 代码

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int n = 10;
    int num;
    int p = 0;
    int q = 0;
    int a[11]; // 存储奇数,多留一位方便操作
    int b[11]; // 存储偶数,多留一位方便操作

    // 循环读取10个整数
    for (int i = 0; i < n; i++) {
        cin >> num;
        if (num % 2 == 1) { // 如果是奇数
            a[++p] = num; // 将奇数存入数组a
        } else {
            b[++q] = num; // 将偶数存入数组b
        }
    }

    // 使用标准库的sort函数对奇数数组进行从大到小排序(自定义比较函数)
    sort(a + 1, a + p + 1, [](int x, int y) { return x > y; });

    // 使用标准库的sort函数对偶数数组进行从小到大排序(自定义比较函数)
    sort(b + 1, b + q + 1, [](int x, int y) { return x < y; });

    // 输出排序后的奇数
    for (int i = 1; i <= p; i++) {
        cout << a[i] << " ";
    }
    // 输出排序后的偶数
    for (int i = 1; i <= q; i++) {
        cout << b[i] << " ";
    }

    return 0;
}

Java代码

import java.util.Arrays; import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int n = 10;
        Scanner scanner = new Scanner(System.in);
        int[] a = new int[11]; // 存储奇数,多留一位方便操作
        int[] b = new int[11]; // 存储偶数,多留一位方便操作
        int p = 0;
        int q = 0;

        // 循环读取10个整数
        for (int i = 0; i < n; i++) {
            int num = scanner.nextInt();
            if (num % 2 == 1) { // 如果是奇数
                a[++p] = num; // 将奇数存入数组a
            } else {
                b[++q] = num; // 将偶数存入数组b
            }
        }

        // 使用Arrays.sort函数结合自定义比较器对奇数数组进行从大到小排序
        Arrays.sort(a, 1, p + 1, (x, y) -> y - x);

        // 使用Arrays.sort函数结合自定义比较器对偶数数组进行从小到大排序
        Arrays.sort(b, 1, q + 1, (x, y) -> x - y);

        // 输出排序后的奇数
        for (int i = 1; i <= p; i++) {
            System.out.print(a[i] + " ");
        }
        // 输出排序后的偶数
        for (int i = 1, i <= q; i++) {
            System.out.print(b[i] + " ");
        }
    }
}

Python代码

nums = list(map(int, input().split())) # 读取输入的10个整数并转换为列表
odds = sorted([num for num in nums if num % 2 == 1], reverse=True) # 筛选出奇数并从大到小排序
evens = sorted([num for num in nums if num % 2 == 0]) # 筛选出偶数并从小到大排序
print(" ".join(map(str, odds + evens))) # 先输出奇数再输出偶数,将整数转换为字符串并用空格连接后输出

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐
关键字:首页模板_室内设计课程网络课程_搜索引擎优化关键词_广告资源对接平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: