C++程序 打印数字模式

C++程序 打印数字模式

在这里,我们将看到一个用C++编写的程序来打印3种不同的数字模式。使用 _ for_ 循环和 _ while_ 循环分别涵盖了3种数字模式,并提供了相应的解释。

三种不同的数字模式:

1                                               
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15

1
2 2 
3 3 3
4 4 4 4
5 5 5 5 5 

1
12
123
1234
12345

模式1:

输入:n = 5

输出:

1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15  

使用for循环:

第一个for循环用于迭代行数,第二个for循环用于重复列数。然后打印数字并递增数字以打印下一个数字。

// 使用for循环打印数字模式的C++程序
#include <iostream>
using namespace std;
 
int main()
{
    int rows, columns, number = 1, n = 5;
   
    // 第一个for循环用于确定行数
    for (rows = 0; rows <= n; rows++) {
       
        // 第二个for循环用于确定列数,
        // 并依据第一个for循环更改值
        for (columns = 0; columns < rows; columns++) {
           
            // 根据列数打印数字模式
            cout << number << " ";
           
            // 每列递增数字,以打印下一个数字
            number++;
        }
       
        // 打印每行的下一行
        cout << "\n";
    }
    return 0;
}  

输出

1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 

时间复杂度: O(n 2 )

辅助空间: O(1)

使用while循环:

while循环会检查条件是否为false,如果条件为true,则进入循环并执行语句。

// 使用while循环打印数字模式的C++程序
#include <iostream>
using namespace std;
 
int main()
{
    int rows = 1, columns = 0, n = 5;
 
    // 给数字赋值为1,有助于打印数字模式
    int number = 1;
 
    // while循环检查条件并重复
    // 直到条件为false
    while (rows <= n) {
        while (columns <= rows - 1) {
 
            // 打印数字以得到所需的模式
            cout << number << " ";
 
            // 递增列数
            columns++;
 
            // 递增数字以打印下一个数字
            number++;
        }
        columns = 0;
       
        // 递增行数
        rows++;
        cout << endl;
    }
    return 0;
}  

输出

1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 

时间复杂度: O(n 2 )

辅助空间: O(1)

模式2:

输入: n = 5

输出:

1
2 2 
3 3 3
4 4 4 4
5 5 5 5 5 

使用for循环:

第一个for循环用于迭代行数,第二个for循环用于重复列数。然后输出行号以得到所需的输出。

// C++ program to print number
// patterns using while loop
#include <iostream>
using namespace std;
 
int main()
{
    int rows = 1, columns = 0, n = 5;
   
    // while loops check the condition and repeat
    // the loop until the condition is false
    while (rows <= n) {
       
        while (columns < rows) {
           
            // print the column number to get the required output
            cout << columns+1 << " ";
           
            // increment columns value
            columns++;
        }
        columns = 0;
       
        // increment rows value
        rows++;
       
        cout << endl;
    }
    return 0;
}  

Output

1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 

Time Complexity: O(n 2 )

Auxiliary Space: O(1)

// 使用while循环打印数字模式的C++程序
#include <iostream>
using namespace std;
 
int main()
{
    int rows = 1, columns = 1, n = 6;
    int number = 1;
   
    // while循环检查条件并重复
    // 直到条件为假
    while (rows <= n) {
       
        while (columns <= rows - 1) {
           
            // 打印数字以获得所需的模式
            cout << columns << " ";
           
            // incrementing 列值
            columns++;
        }
        columns = 1;
       
        //incrementing 行值
        rows++;
        cout << endl;
    }
    return 0;
}  

输出结果

1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 

时间复杂度: O(n 2 )

辅助空间: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例