2 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long n,a,js[105],o[105],cnt,sum; int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a; if(a%2==0)o[++cnt]=a; else js[++sum]=a; } for(int i=1;i<=sum;i++) { cout<<js[i]<<" "; } cout<<endl; for(int i=1;i<=cnt;i++) { cout<<o[i]<<" "; } return 0; }
-
-1
**五年级的小蒟蒻发个题解~~~~
首先这道题很明显是一位数组应用题
1. 输入处理
第一步:读取第一个整数 n(范围 1 < n < 30),这个数代表后续要输入的整数个数。 第二步:读取第二行的 n 个整数,需要把这些数暂时存储起来(比如用数组),方便后续筛选。
2. 奇偶筛选
遍历存储的 n 个整数,对每个数做判断: 奇数判断:用该数对 2 取余(数 % 2),若结果不等于 0,则这个数是奇数,将其归类到 “奇数集合” 中。 偶数判断:若该数对 2 取余结果等于 0,则这个数是偶数,将其归类到 “偶数集合” 中。 (注:C++98 中取余运算对负数同样适用,比如 -3 % 2 = -1,仍会被判定为奇数,符合常规奇偶定义)
3. 结果输出
第一步:输出 “奇数集合” 中的所有数,数与数之间用空格隔开,输出完成后换行。 第二步:输出 “偶数集合” 中的所有数,数与数之间用空格隔开,输出完成后换行。 (注:若某一类数为空,对应行仅输出换行即可;输出顺序需和输入时的顺序一致)
4. 边界与细节
确保输入的 n 符合 1 < n < 30 的范围(可做简单校验,避免非法输入)。 存储整数的容器选择:C++98 中常用数组(如 int arr[30]),因为 n 最大不超过 29,数组大小足够。 O2 优化是编译层面的优化(如编译器优化循环、内存访问等),逻辑层面无需额外处理,只需保证代码符合 C++98 语法即可。 总结
核心逻辑:先读取输入的个数和具体数值,再通过 “对 2 取余” 区分奇偶,最后分别输出两类数。
AC代码他来了
#include<bits/stdc++.h> using namespace std; long long n,a,js[105],o[105],cnt,sum; int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a; if(a%2==0)o[++cnt]=a; else js[++sum]=a; } for(int i=1;i<=sum;i++) { cout<<js[i]<<" "; } cout<<endl; for(int i=1;i<=cnt;i++) { cout<<o[i]<<" "; } return 0; }
- 1
信息
- ID
- 1601
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 3
- 标签
- 递交数
- 26
- 已通过
- 17
- 上传者