每日一题——第十四题

题目:输入一行数字,将其按升序输出,且奇数在前,偶数在后

c 复制代码
#include<stdio.h>

void bubbleSort(int* arr, int n);
int main(){
    int n, i, input_nums;
    printf("请输入数字个数: ");
    scanf("%d", &n);

    int odd[n / 2 + 1], even[n / 2 + 1];//用来存放奇数和偶数
    int odd_count = 0, even_count = 0;

    for(i = 0; i < n; i ++){

        scanf("%d", &input_nums);

        //把数据存入相应的数组中
        if(input_nums % 2 == 0){

            even[even_count++] = input_nums;
        }
        else{
            odd[odd_count++] = input_nums;
        }
    }

    //对数据元素进行排序
    bubbleSort(odd, odd_count);
    bubbleSort(even, even_count);

    //输出排序后的奇数
    printf("升序输出,奇数在前:");
    for(i = 0; i < odd_count; i++){
        printf("%d", odd[i]);
    }

    //输出排序后的偶数
    for(i = 0; i < even_count; i++){
        printf("%d", even[i]);
    }

    printf("\n");

    return 0;
}

//冒泡排序
void bubbleSort(int* arr, int n){
    int i, j, temp;

    for(i = 0; i < n - 1; i ++){
        for(j = 0; j < n - (i + 1); j ++){

            //升序排列
            if(arr[j] > arr[j + 1]){

                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }

}
相关推荐
三品吉他手会点灯3 分钟前
C语言学习笔记 - 8.C概述 - 学习的目标
c语言·笔记·学习
三品吉他手会点灯20 分钟前
C语言学习笔记 - 10.C概述 - C语言课程总纲要
c语言·笔记·学习
流年如夢32 分钟前
结构体:定义、使用与内存布局
c语言·开发语言·数据结构·c++·算法
三品吉他手会点灯33 分钟前
C语言学习笔记 - 6.C概述 - C的重要性
c语言·笔记·学习
wuminyu1 小时前
专家视角看 Java 字节码与Class 文件格式
java·linux·c语言·jvm·c++
YSF2017_31 小时前
C语言-13-制作动态库
c语言·开发语言
『昊纸』℃1 小时前
C语言学习心得集合 篇1
c语言·算法·编程基础·学习心得·实践操作
棋子入局2 小时前
C语言实现消消乐游戏(6)
c语言·算法·游戏
qeen872 小时前
【算法笔记】差分与经典例题解析
c语言·c++·笔记·学习·算法·差分
椰羊~王小美2 小时前
C、Java、Go、Python 对比
java·c语言