.诗 2021-07-20 17:07 采纳率: 58.2%
浏览 29
已结题

有个c++的问题?!



#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;
}
    

img

通过了一半,还有一些漏洞?

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2021-07-20 17:17
    关注

    啥叫一半?最后的输出是有问题的,如果输入的数字中没有偶数呢?最后还会是空格字符
    应该改成第一个只输出数字,不输出空格,后面每个数字都是先输出空格,再输出数字

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月20日
  • 已采纳回答 7月20日
  • 创建了问题 7月20日