题解 洛谷P5725 【【深基4.习8】求三角形】

看到只有两篇题解,果断水一篇……

很明显,这道题分为两个部分,我们将两个问题分别解决。

一.求矩形

这个部分相对简单,先考虑行数,有N行,列数也有N列。

所以请看伪代码:

FOR I=1...N
{
    FOR J=1...N
    {
        打印!
    }
}
View Code

打印时要处理个位数,如果是个位数,那么要加一个前导零。 代码如下:

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;
}
View Code

二.求三角形

这个问题相比求矩形要略显复杂,但是也不难!

首先,也是考虑行数与列数: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;
}
View Code

还有陷阱

中间要加换行!

posted @ 2020-08-08 15:30  Bushuai_Tang  阅读(306)  评论(0编辑  收藏  举报