#include<iostream>
using namespace std;
int main() {
int n, i;
int arr[100];
int prr[100];
int drr[100];
while (cin >> n) {
int b = 0;
int d = 0;
int k=0;
int k2=0;
for (i = 0; i < n; i++) {
cin >> arr[i];
}
for (i = 0; i < n;) {
if (arr[i] % 2 == 0) {
drr[d] = arr[i];
d++;
k2++;
}
else {
prr[b] = arr[i];
k++;
b++;
}
i++;
}
for (b = 0; b < k; b++) {
cout << prr[b] << " ";
}
for (d = 0; d < k2-1; d++) {
cout << drr[d] << " ";
}
cout << drr[k2-1] << endl;
}
return 0;
}
通过了一半,还有一些漏洞?
啥叫一半?最后的输出是有问题的,如果输入的数字中没有偶数呢?最后还会是空格字符
应该改成第一个只输出数字,不输出空格,后面每个数字都是先输出空格,再输出数字