我正在上我的第一门编程课程,并且是这个论坛的新手。任何帮助将不胜感激!对于我的一项课堂作业,我不得不编写一个程序来查找给定数字的因数,我已经启动并运行了该程序,但其中一项规定是,输出必须四行显示,这就是我遇到麻烦了。我在其他一些论坛以及这里都读过,但是我想我不太了解我在特定情况下要做的事情。

这是我的代码:

#include <iostream>

using namespace std;

int main(){

    int n;

    while (cout << "Please enter a number: " && !(cin >> n)  || (n < 0.0) || cin.peek() != '\n')
    {
        cout << "Input must be a positive number!" << endl;
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
    }

    for (int i=2; i <= n; i++)
    {
        while (n % i == 0)
        {
            n /= i;
            cout << "*" << i;
        }
    }
    cout << endl;
    system ("PAUSE");
    return 0;
}

最佳答案

您将需要在循环外添加一个计数器。

//int counter = 0;

for (int i=2; i <= n; i++)
{
     while (n % i == 0)
    {
        n /= i;
        cout << "*" << i;
    }

}


计数器将需要跟踪已打印的条目数。

Once you have seen 4 entries printed:
    print an extra newline
    and set the counter back to 0

关于c++ - 每行显示输出4,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30516150/

10-09 16:55