题解 洛谷P5725 【【深基4.习8】求三角形】
看到只有两篇题解,果断水一篇……
很明显,这道题分为两个部分,我们将两个问题分别解决。
一.求矩形
这个部分相对简单,先考虑行数,有N行,列数也有N列。
所以请看伪代码:
FOR I=1...N { FOR J=1...N { 打印! } }
打印时要处理个位数,如果是个位数,那么要加一个前导零。 代码如下:
int i,j; int now=1; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(now<10) { cout<<0; } cout<<now; now++; } cout<<endl; }
二.求三角形
这个问题相比求矩形要略显复杂,但是也不难!
首先,也是考虑行数与列数:N行N列。
同样,打印时个位数要加前导零。
考虑好空格的数量就好啦!
代码如下:
now=1; for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) { cout<<" "; } for(j=1;j<=i;j++) { if(now<10) { cout<<0; } cout<<now; now++; } cout<<endl; }
还有陷阱
中间要加换行!
不要妄图追上西坠的太阳,而是要在黎明前就等着它!