题解 | #带空格直角三角形图案#

带空格直角三角形图案

https://www.nowcoder.com/practice/192d1039c3d44155bb868073f5482670

*

* *

* * *

* * * *

* * * * *

根据上面的图,我们可以分析出这个是先输入需要的行数,之后每行先输入空格再输入* ,所以我们可以将空格全部补齐,将整个看做一个矩形,可以分析出空格是输入的行数减去当前行的*个数,所以k 所代表的 * 是递增,j 所代表的空格是递减。了解到庆康huo可以看下面代码。

#include<stdio.h>
int main() {

    int n = 0;
    while (scanf("%d", &n) != EOF) {//控制输入,
        for (int i = 1; i <= n; i++) {//通过 i 来控制输出的行数,
            for (int j = n - i; j > 0; j--) {//通过 j 控制空格的输出,前面提到j 是递减,所以从n-1开始,一直到j=1结束。
                printf("  ");
            }
            for (int k = 1; k <= i; k++) {//通过 k 控制*的输出,因为是递增,所以跟进i的脚步,i是行,i对应的行就有对应个*,所以k的范围是就是 <=i 
                printf("* ");
            }
            printf("\n");//没循环完一行后换行
        }
    }


    return 0;
}

全部评论

相关推荐

08-04 22:37
桂林学院 Java
花律:看着感觉不差的,实习还是要看点运气,如果不介意可以试试外包实习,我的简历比楼主都差,都可以进
投递BOSS直聘等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务