今天我玩了一些代码(我是初学者)。我只写了一个简单的程序来制作一个三角形,其中的基础由用户的输入决定。如何绘制相反的三角形?
下面是代码:
#include "main.h"
using namespace std;
int main()
{
int triBase = 0;
cout << "Enter a base number for the triangle [1-100]: ";
cin >> triBase;
cout << endl;
while(!cin || triBase > 100 || triBase <= 0)
{
system ("clear");
cout << "Invalid input!" << endl;
cin.clear();
cin.ignore(10, '\n');
cout << "Enter a base number for the triangle [1-100]: ";
cin >> triBase;
cout << endl;
}
system ("clear");
for(int lines = 0; lines < triBase; lines++)
{
for(int rows = 0; rows <= lines; rows++)
{
cout << "* ";
}
cout << endl;
}
return 0;
}
我的问题是,我怎么会去使三角形在屏幕的另一侧出现相反的顺序?例如,用户输入5,屏幕上会显示:
* *****
** ****
*** ***
**** **
***** *
或者,如果他们进入12:
* ************
** ***********
*** **********
**** *********
***** ********
****** *******
******* ******
******** *****
********* ****
********** ***
*********** **
************ *
有没有办法知道如何可能的字符可以在屏幕上放不下,减去数适合该行的字符,然后将差异添加到空格中,以便它们在正确的位置开始,以便每行在屏幕上的最后一个位置结束?先谢谢你。
提示:在每一行迭代(新行)中添加一个常量的空格数。如你所见,空间不断重复。 –
谢谢,我会试一试。 – ryanpback