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)