C 以升级循环时按升序打印数字

C++ Print inputed number in ascending order using do while loop

本文关键字:升序 打印 数字 循环      更新时间:2023-10-16

需要在c 中使用 do do do do显示此内容,并且我陷入了代码。这是我的代码

#include <iostream>
using namespace std;
int main ()
{
    int mn, i, n = 1;
    cout << "Enter max number: ";
    cin >> mn;
    do
    {
        cout << n << " ";
        n++;
    } while (mn >= n);
    {
        cout << endl;
        system("pause");
        return 0;
    }

我的代码仅显示

    Enter max number: 8
    1 2 3 4 5  6 7 8

它应该显示此内容,但我不知道如何使它起作用。

   Enter max number: 8
   1
   12
   123
   1234
   12345
   123456
   1234567
   12345678

有什么想法使它起作用?谢谢

根据您想要的结果,代码中应有2个循环。一个用于每条线的输出,另一种是用于多行的输出。

因此,您需要意识到代码中的变量n仅适用于一行的输出。您需要在do while循环中添加一个额外的循环,让N为确定程序应输出多少行的计数器。

根据您想要的结果,我亲自修改了一些cout代码。它通过了我的计算机测试。毫无疑问,您可以使用forwhile进行循环,因为这些循环可以相互代表。

#include <iostream>
using namespace std;
int main ()
{
    int mn,n = 1;
    cout << "Enter max number: ";
    cin >> mn;
    cout << endl;
    do
    {
        int temp = 1;
        do {
            cout << temp;
            temp++;
        }  while (n >= temp);
        cout << endl;
        n++;
    } while (mn >= n);
    return 0;
}