C++程序 打印右半金字塔图案
金字塔是一个常见的图形,它由多个层次的星号组成,逐渐向上收敛,呈现出一个三角形的形状。而右半金字塔则是只有右边一侧的部分,并不完整。本文将介绍如何使用 C++ 语言来打印出这种图案。
打印指定行数的右半金字塔图案
一个右半金字塔有多少行可以由用户定义,在这里我们可以通过定义一个变量 row
来实现。首先需要进行一些必要的判断,如行数必须是正整数,所定义的行数要在合理的范围内等。
对于每一行,我们需要确定它的宽度和所需打印的星号数量。以输入行数 row
为 6 为例,右半金字塔的最大宽度为 2*row-1,即 11,从左到右依次打印 1、3、5、7、9、11 颗星号。通过循环语句可以实现递增星号的数量,同时在前面填补空格来保证金字塔的对称性。
#include<iostream>
using namespace std;
int main()
{
int row;
cout << "请输入行数:";
cin >> row;
if (row <= 0)
{
cout << "请输入正整数" << endl;
return 0;
}
if (row > 10)
{
cout << "最多支持打印10行" << endl;
return 0;
}
for (int i = 1; i <= row; i++)
{
for (int j = 1; j <= row - i; j++)
cout << " ";
for (int k = 1; k <= 2 * i - 1; k++)
cout << "*";
cout << endl;
}
return 0;
}
输出结果:
请输入行数:6
*
***
*****
*******
*********
***********
结论
以上就是使用 C++ 程序打印右半金字塔图案的方法。这个方法原理简单,但是交错的循环语句需要注意语法和细节,较易出错。我们可以通过适当加强边界判断等手段来提高程序的健壮性和实用性。