PTA:中M2018秋C入门和进阶练习---7-5 输出倒三角图案(C实现)

题目链接

7-5 输出倒三角图案 (5 分)

本题要求编写程序,输出指定的由“*”组成的倒三角图案。

输入格式:

本题目没有输入。

输出格式:

按照下列格式输出由“*”组成的倒三角图案。

* * * *
 * * *
  * *
   *

 解析:题目很简单,直接用prinf打印即可。但是人总要有点梦想,尝试用循环来解决。奈何搜到的解决方案都是通过printf直接打印的。

上代码:

#include<stdio.h>

int main(void){  
    for (int i = 0; i < 4; i++) {
        for(int a = i; a> 0; a--){
            printf(" ");
        }
        for(int j =i; j<4; j++) {
            if(j == 3){
               printf("*"); 
               break;
            }
            printf("* ");
        }
        
    printf("\n");
    }
}

分析一下图:总共4行,第一行4个*,3个空格,下面每一行比上面一行少个*,空格数却是不变。

得出结论:通过外层循环控制行数,内存循环控制每行的打印内容。到那时问题来了,该如何打印空格呢?

         通过观察可以得知,美韩开头的空格数目为当前行数-1,于是在外层循环里再加一个循环来打印空格,但是一定新定义一个变量来接收i的值,直接用i来处理这个寻欢会进入到死循环。至于最后一个*要求没有空格,直接通过判断这个*是不是最后一个就行,如果不是,就打印* ,反之,就打印*。

猜你喜欢

转载自blog.csdn.net/qq_33621326/article/details/84780372
今日推荐