天花板编程手把手计划-第1期-第0天-打卡

这篇文章用作给大家演示如何发天花板编程手把手计划的打卡贴
其实没有第0天,哈哈

题目

请用代码在屏幕上打印出下面这幅图。

天花板编程手把手计划-第1期-第0天-打卡_第1张图片

原文:http://www.jianshu.com/p/9e321ae3cd08

解题思路

这个图形共31行,可以分成两个部分。上半部分是一个16行的正三角形,下半部分是一个15行的倒三角形。

天花板编程手把手计划-第1期-第0天-打卡_第2张图片

两个三角形分别用一个嵌套的for循环可以完成。

源码

#define LINE 31

int main()
{
    int i, j;
    int n;
    for (i = 0; i < LINE; i++)
    {
        if (i <= LINE / 2)
            n = i;
        else
            n = LINE - i - 1;

        for (j = 0; j < (LINE / 2 - n); j++)
            printf(" ");

        for (j = 0; j < 2 * n + 1; j++)
            printf("*");

        printf("\n");
    }

    return 0;
}

执行结果

天花板编程手把手计划-第1期-第0天-打卡_第3张图片

总结

遇到任何问题先把它分解成我们曾经使用过的算法单元,之后再逐一完成操作。

你可能感兴趣的:(天花板编程手把手计划-第1期-第0天-打卡)