每日一题——第十四题

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

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;
            }
        }
    }

}
相关推荐
进击的小头15 分钟前
IIR滤波器核心原理深化:从差分方程到工业级实现
c语言·python·算法
kpler1 小时前
uboot移植第三方源码miniz
c语言·u-boot
进击的小头2 小时前
行为型模式:状态模式——嵌入式状态管理的优雅解决方案
c语言·状态模式
Hello World . .2 小时前
数据结构:数据结构基础、顺序表、链表
c语言·数据结构·vim
嵌入小生0073 小时前
Data Structure Learning: Starting with C Language Singly Linked List
c语言·开发语言·数据结构·算法·嵌入式软件
定偶3 小时前
USB协议
c语言·网络·数据库
二年级程序员3 小时前
qsort函数的使用与模拟实现
c语言·数据结构·算法·排序算法
梵刹古音4 小时前
【C语言】 整型变量
c语言·开发语言
小程同学>o<4 小时前
嵌入式之C/C++(三)指针
c语言·c++·算法·嵌入式软件·嵌入式面试题库
!停4 小时前
数据结构时间复杂度
c语言·开发语言·算法