[语言月赛202209] 排排队
三级知识点一维数组练习,除了应用了数组以外,其余逻辑比较简单,适合初学者。
luogu-B3661 [语言月赛202209] 排排队
题目要求
描述
在幼儿园中有 个小朋友,每个小朋友都有一个学号。
老师的要求是:学号为奇数的小朋友站一排,学号为偶数的小朋友站一排。
提示:
奇数:个位数为 的数字,满足除以 的余数为 。
偶数:个位数为 的数字,满足除以 的余数为 。
输入
共两行,第一行一个数字 ,表示有 个小朋友。
第二行共 个数字,其中第 个数字 表示第 个小朋友的学号。
输出
共两行,第一行一些数字,表示学号为奇数的小朋友的学号,按照输入的顺序输出。即,如果一个数字输入的时候在前,那么输出的时候也应当在前。
第二行一些数字,表示学号为偶数的小朋友的学号,按照输入的顺序输出。
保证小朋友的学号既有奇数,又有偶数。
输入样例-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 认证学习微信公众号

Last updated on