[语言月赛202209] 排排队

[语言月赛202209] 排排队

三级知识点一维数组练习,除了应用了数组以外,其余逻辑比较简单,适合初学者。

luogu-B3661 [语言月赛202209] 排排队

题目要求

描述

在幼儿园中有 nn 个小朋友,每个小朋友都有一个学号。

老师的要求是:学号为奇数的小朋友站一排,学号为偶数的小朋友站一排。

提示:

奇数:个位数为 1,3,5,7,91, 3, 5, 7, 9 的数字,满足除以 22 的余数为 11

偶数:个位数为 0,2,4,6,80, 2, 4, 6, 8 的数字,满足除以 22 的余数为 00

输入

共两行,第一行一个数字 nn,表示有 nn 个小朋友。

第二行共 nn 个数字,其中第 ii 个数字 aia_i 表示第 ii 个小朋友的学号。

输出

共两行,第一行一些数字,表示学号为奇数的小朋友的学号,按照输入的顺序输出。即,如果一个数字输入的时候在前,那么输出的时候也应当在前。

第二行一些数字,表示学号为偶数的小朋友的学号,按照输入的顺序输出。

保证小朋友的学号既有奇数,又有偶数。

输入样例-1

5
1 2 3 4 5

输出样例-1

1 3 5
2 4

输入样例-2

5
5 2 3 1 4

输出样例-2

5 3 1
2 4


题目分析

  • 读取小朋友数量n的值
  • 读取n个小朋友的学号,存储到数组中
  • 遍历数组中的学号
  • 输出学号为奇数的小朋友的学号
  • 换行
  • 输出学号为偶数的小朋友的学号

{% include custom/custom-post-content-inner.html %}

示例代码

#include <iostream>
using namespace std;
int main() {
    int n;  // 读取数组长度
    cin >> n;
    int* input_array = new int[n];  // 动态分配数组空间
    for (int i = 0; i < n; i++) {
        cin >> input_array[i];  // 读取数组元素
    }
    // 打印奇数
    for (int i = 0; i < n; i++) {
        if (input_array[i] % 2 != 0) {
            cout << input_array[i] << " ";
        }
    }
    cout << endl;  // 换行,分隔奇数和偶数
    // 打印偶数
    for (int i = 0; i < n; i++) {
        if (input_array[i] % 2 == 0) {
            cout << input_array[i] << " ";
        }
    }
    return 0;
}

{% include custom/custom-post-content-footer.md %}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on