从星形三角形开始打印形成星形梯形C ++的星号

时间:2018-11-05 14:02:15

标签: c++

在学校作业中,我们必须在C ++中绘制带有星号的梯形,这建议我们从构建三角形开始。 梯形应如下所示:

***
****
*****
******

其中第一行必须与用户给出的第一个数字一样长,最后一行必须与用户给出的第二个数字一样长,梯形的高度必须由fabs(1+ ab)与图书馆。

这是我编写的代码(仍然显示一个三角形,现在只有高度):

 #include <iostream>
 #include <cmath>`
 using namespace std;

int main(){
    int a, b;
    cout << "Enter two unsigned integers: "<<endl;
    cin >> a >> b;

    for (int i=1; i<=(fabs(1+a-b)); ++i)    {
    cout << endl; //height
        for (int j=1; j<=i; ++j)    {
        cout << "*"; 

        }
    }   
    return 0;
}

我不知道如何开始使星号不是从零开始的循环,而是从由变量a告诉的尽可能多的星号构成的行开始。 先感谢您!

1 个答案:

答案 0 :(得分:0)

以下一种可能的方法:

int countOfStars = a;
for (int i=0; i<std::abs(a-b)+1; i++)
{
    for(int j = 0; j < countOfStars; j++)
    {
        cout << "*";
    }
    cout << "\n";
    countOfStars++;
}
相关问题