题解 | #箭形图案#

箭形图案

http://www.nowcoder.com/practice/a6d1081e0c9a42f19e42ed6cd91556c1

/*  n=3,总共打印2*n+1行,总共有2*n+1列
      *
    **
  ***
****
  ***
    **
      *
*/
#include<stdio.h>
int main(void)
{
    int n;
    while((scanf("%d",&n))!=EOF)//多组输入
    {
        for(int i=1;i<=n;i++)//打印上半部分,中间*号以上部分
        {
            for(int j=n;j>=i;j--)//打印第一行前置空格,每次打印两个空格,每行的空格个数跟行数有关,第一行打印次两个空格,依次递减
                printf("  ");
            for(int k=1;k<=i;k++)//逐行打印*号,打印的个数与行数一样
                printf("*");
            printf("\n");
        }
        for(int i=0;i<=n;i++)//因为后半部分多了一行,所以定义中间一行为0行开始
        {
            for(int j=n-i;j<n;j++)//后半部分的前置空格打印,打印的空格从0逐步加1
                printf("  ");
            for(int k=0;k<=n-i;k++)//打印的*号逐行减少
                printf("*");
            printf("\n");
        }
    }
    return 0;
}
全部评论

相关推荐

01-14 15:08
东南大学 Java
点赞 评论 收藏
分享
01-02 21:17
已编辑
西安理工大学 后端
程序员小白条:项目不太重要,你的优势的算法竞赛,然后多背相关的八股文,项目可以不作为重点考虑,面试可能就简单带过项目就行了,你可以直接写简历,背项目相关的八股文就行,也不用自己做,时间紧张的情况下,性价比最高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务