一个c++的问题?!


#include<iostream>
using namespace std;
int main() {
    int n, i;
    int arr[100];
    int prr[100];
    int drr[100];

    while (cin >> n) {
        int k = 0;
        int b = 0;
        int v = 0;
        int g = 0;
        for (i = 0; i < n; i++) {
            cin >> arr[i];
        }
        for (i = 0; i < n;) {
            if (arr[i] % 2 == 0) {
                drr[v] = arr[i];
                v++;
                g++;
            }
            else {
                prr[b] = arr[i];
                k++;
                b++;
            }
            i++;
        }
        if (b >= 1) {
            cout << prr[0] << " ";

            for (b = 1; b < k; b++) {
                cout << prr[b] << " ";
            }
        }
        if (g >= 1) {
            cout << drr[0] << " ";
            for (v = 1; v < g; v++) {
                cout << drr[v] << " ";
            }
        }
        cout << endl;
 
       
    }
    return 0;
}

img

过不了!

#include<iostream>
using namespace std;

int main() {
    int n, i;
    int arr[100];
    int prr[100];
    int drr[100];
    while (cin >> n) {
        int k = 0;
        int v = 0;
        for (i = 0; i < n; i++) {
            cin >> arr[i];
        }
        for (i = 0; i < n;i++) {
            if (arr[i] % 2 == 0) {
                drr[v++] = arr[i];
            }
            else {
                prr[k++] = arr[i];
            }
        }
        bool bprint = false;
        if (k >= 1) {
            if(!bprint)
            {
                cout<<prr[0];
                bprint = true;
                i=1;
            }
            else 
                i=0;
            for (;i < k; i++) {
                cout << " " << prr[i];
            }
        }
        if (v >= 1) {
            if(!bprint)
            {
                cout<<drr[0];
                bprint = true;
                i=1;
            }
            else
                i=0;
            for (; i < v; i++) {
                cout<< " " << drr[i] ;
            }
        }
        cout << endl;
       
    }
    return 0;
}