带空格直角三角形图案

带空格直角三角形图案

http://www.nowcoder.com/questionTerminal/192d1039c3d44155bb868073f5482670

分析:

打印图案这类题都具有很高的相似性,本题可以参考我之前打印金字塔的题解,链接:https://blog.nowcoder.net/n/86a42f259a0f44d6836d173a05e65141
核心思想一样,连代码都类似,需要修改的地方为每行一开始打印的空格space的初始化,同时每一行打印后不是自减1而是自减2。

题解:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n = 0;
    while(scanf("%d", &n) != EOF) {
        int space = n + n - 2;
        for(int i = 1; i <= n; ++i) {
            for(int j = 0; j < space; ++j)
                printf(" ");
            int count = i+i-1;
            bool flag = true;
            for(int k = 0; k < count; ++k){
                if(flag) {
                    printf("*");
                    if(k == count-1)
                        printf(" ");
                }
                else
                    printf(" ");
                flag = !flag;
            }
            printf("\n");
            space -= 2;
        }
    }
    return 0;
}

总结:

打印图案类题型,根据在之前题解的基础上适量修改,根据题目要求更改输出方式即可,灵活举一反三。

全部评论

相关推荐

头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
jack_miller:杜:你不用我那你就用我的美赞臣
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-20 19:57
已编辑
某大厂 golang工程师 23.0k*16.0, 2k房补,年终大概率能拿到
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务