• C/C++语言100题练习计划 79——整数奇偶数排序(sort函数实现)


    名人说:故立志者,为学之心也;为学者,立志之事也。—— 王阳明
    进度:C/C++语言100题练习计划专栏,目前79/100

    🥇C/C++语言100题练习专栏计划目的:巩固练习C/C++语言,增强上机、动手实践能力,交流学习!

    一、问题呈现

    1.问题描述

    Problem Description
    给定10个整数的序列,要求对其重新排序。排序要求:1.奇数在前,偶数在后;2.奇数按从大到小排序;3.偶数按从小到大排序。

    2.输入输出

    Input

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

    Output

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

    3.测试样例

    Sample Input

    4 7 3 13 11 12 0 47 34 98

    Sample Output

    47 13 11 7 3 0 4 12 34 98

    ★提示:
    对于100%的数据:n<10000

    二、源码实现

    #include
    #include
    using namespace std;
    
    int main()
    {
    	int a[101],b[101],m=0,n=0;
    	//循环输入十个数
    	for(int i=0;i<10;i++){
    		int x;
    		cin>>x;
    		//如果是偶数则赋值给数组a里的元素 即存入数组a中
    		if(x%2==0){
    			a[m++]=x;
    		}
    		//如果是奇数则赋值给数组b里的元素 即存入数组b中
    		else
    			b[n++]=x;
    	}
    	//对偶数数组a进行排序
    	sort(a,a+m);
    	//对奇数数组b进行排序
    	sort(b,b+n);
    	//根据要求奇数在前,偶数在后
    	//从大到小输出奇数序列
    	for(int i=n-1;i>=0;i--){
    		cout<<b[i]<<" ";
    	}
    	//从小到大输出偶数序列
    	for(int i=0;i<m;i++){
    		cout<<a[i]<<" ";
    	}
    	cout<<endl;
    	return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    ★关于sort
    sort函数包含在头文件为#include的c++标准库中,是c++一种排序方法之一。

    1️⃣sort函数使用模板
    sort(start,end+1,排序方法)
    a.从小到大排序:sort(a,a+d)
    b.从大到小排序:sort(a,a+d,cmp)
    其中d等于要排序的元素的个数

    2️⃣cmp函数
    bool cmp(int a,int b)
    {
         return a>b;
    }

    3️⃣sort函数的三个参数
    ①第一个是要排序的数组的起始地址
    ②第二个结束的地址+1(最后一位要排序的地址+1);
    ③第三个参数是排序的方法,可以是从大到小也可是从小到大;
    还可以不写第三个参数,此时默认的排序方法是从小到大排序。

    三、测试结果

    4 7 3 13 11 12 0 47 34 98
    47 13 11 7 3 0 4 12 34 98
    
    --------------------------------
    Process exited after 2.08 seconds with return value 0
    请按任意键继续. . .
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder)
    如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ღ( ´・ᴗ・` )比心

  • 相关阅读:
    智能汽车能否真正实现无人驾驶,为什么?
    中空二氧化硅纳米球 中空SiO2纳米球 Hollow SiO2 nanosphere
    基于TCP的网络聊天系统
    MongoDB分布式文件存储系统
    0922hw
    面试官:Redis中有序集合的内部实现方式是什么?
    kerberos 客户端windows系统版本
    Java虚拟机栈
    【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-职业院校组 | 精品题解
    爬虫在网页抓取的过程中可能会遇到哪些问题?
  • 原文地址:https://blog.csdn.net/qq_51646682/article/details/126097723