翻转直角三角形图案

翻转直角三角形图案

http://www.nowcoder.com/questionTerminal/2cdea429fa414fbba26e6c821724ca06

分析:

本题与https://blog.nowcoder.net/n/1d0b3c07efcc479f8e52f955694e66aa
类似,与之不同的是图案要倒着打印,这里只需自减循环即可。

题解:

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

int main() {
    int n = 0;
    while(scanf("%d", &n) != EOF) {
        //外循环控制打印的行数
        for(int i = n; i > 0; --i) {
            //内循环控制列数,当前行的列数不能大于当前行
            for(int j = 1; j <= i; ++j) {
                //如果 i == j即输出星号,否则输出空格
                if(j == i)
                    printf("*\n");
                else
                    printf("* ");
            }
        }
    }
    return 0;
}

题解2:

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

int main() {
    int n = 0;
    //题解2思路和上述一样,不同之处在于将for循环换成了while循环
    while(scanf("%d", &n) != EOF) {
        int i = n;
        while(i > 0) {
            int j = 1;
            while(j <= i) {
                if(j == i)
                    printf("*\n");
                else
                    printf("* ");
                ++j;
            }
            --i;
        }
    }
    return 0;
}

总结:

逆序自减循环的使用,以及两重循环的使用。

全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务