每日一练2022-12-10 奇偶排序 题解

题目名称:奇偶排序

时间限制:1000ms内存限制:256M

题目描述

给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。(测试用例仅做参考,我们会根据代码质量进行评分)

输入描述:

第一行输入整数n。(1<=n<=1000)表示数组大小 第二行输入n个整数a.(1<=n<=100)

输出描述:

输出重排之后的数组。

示例 

示例1

输入6
3 34 67 89 90 58复制

输出3 67 89 34 90 58复制

提示

基本思路:读入数组,判断每一位是奇数还是偶数,是奇数就存进奇数数组,奇数计数器加1,是偶数就存进偶数数组,偶数计数器加1。输出时,先输出奇数数组,再输出偶数数组。

参考代码:

#include 
using namespace std;
int main(){
    int n, a[1005], o[1005], e[1005], cnto = 0, cnte = 0;//定义奇数数组、偶数数组、奇数计数器、偶数计数器。
    cin >> n;//输入n。
    for (int i = 0; i < n; i++){
        cin >> a[i];//输入数组。
        if (a[i] % 2 != 0){//如果是奇数。
            o[cnto] = a[i];//它是第几个奇数,奇数数组的第几位就等于它。
            cnto++;//奇数计数器加1。
        } else {//如果是偶数。
            e[cnte] = a[i];//它是第几个偶数,偶数数组的第几位就等于它。
            cnte++;//偶数计数器加1。
        }
    }
    for (int i = 0; i < cnto; i++) cout << o[i] << " ";//从一循环到奇数个数,输出奇数数组。
    for (int i = 0; i < cnte; i++) cout << e[i] << " ";//从一循环到偶数个数,输出偶数数组。
    return 0;//好习惯。
}

AC记录

每日一练2022-12-10 奇偶排序 题解_第1张图片

 第一次发文章,给个赞呗~

你可能感兴趣的:(c++,开发语言)