c++ - 将输出压缩成单行

标签 c++

我正在做一项作业,允许用户输入整数(最多 20 个条目)并在输入“0”时显示奇数条目和偶数条目的列表。该作业要求用户每行输入一个整数。

我已经设法提取和分离奇数和偶数条目,但是作业要求赔率显示在一行上,偶数显示在其下方的另一行上。

例如,如果用户输入整数 1-9:

Odds: 1 3 5 7 9
Evens: 2 4 6 8

目前,它返回:

Even: 2
Even: 4
Even: 6
Odd: 1
Odd: 3
Odd: 5
etc...

我希望我的程序甚至允许这样做,但我怀疑问题出在我设置循环的方式上。

#include <iostream>

using namespace std;

bool isEven(int x) {
    if ((x%2) == 0) {
    return true;
    } else {
    return false;
    }
}

int main(){

    const int x = 20;
    int list[x];
    int counter;

    cout<<"Enter up to 20 integers or press 0 to display list"<<endl;

    for (counter=0; counter<x; counter++) { //main loop

        cout<<"Enter number: ";
        cin>>list[counter];

        if (list[counter]==0) {
            for (int i =0; i<counter; i++) {
                if (isEven(list[i])==true) {
                cout<<"Even: "<<list[i];
                }
            }
            for (int j = 0; j<counter; j++) {
                if (isEven(list[j])==false) {
                cout<<"Odd: "<<list[j];
                }
            }
        break;
        }
    }
return 0;
}

最佳答案

将输入和输出拆分为单独的循环:

for (counter=0; counter<x; counter++) {
    // input
}
for (counter=0; counter<x; counter++) {
    // output
}

在遍历每个值之前打印标签并使用 \n 打印换行符:

        cout << "Even: ";
        for (int i =0; i<counter; i++) {
            if (isEven(list[i])==true) {
            cout << list[i];
            }
        }
        cout << "\nOdd: ";
        for (int j = 0; j<counter; j++) {
            if (isEven(list[j])==false) {
            cout << list[j];
            }
        }
        cout << "\n";

关于c++ - 将输出压缩成单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55063267/

相关文章:

c++ - 文件是否需要扩展名才能在 C/C++ 中使用 open() 打开?

c++ - 您将如何实现黑白棋游戏? (奥赛罗)

c++ - 在插入时保持 std vector/列表排序,或对所有排序

c++ - 为什么大括号初始值设定项的自动和模板类型推导不同?

c++ - 不能在 dev c++ 5.9 中包含 std 数组

c++ - 为什么当我只使用静态 .lib 时 Windows 告诉我找不到 .dll 文件?

python - 如何在 OpenCV 中检测这是谁的脸?

c++ - 使用/dev/input/eventX 和 c/c++ 的设备事件处理

c++ - 对于基本类型中的位数,我应该使用什么类型?

c++ - 如何使用获得私有(private)复制构造函数和赋值构造函数的对象?