在学校作业中,我们必须在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告诉的尽可能多的星号构成的行开始。 先感谢您!
答案 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++;
}