用c语言打印空心菱形

项目场景:

今天被学长问倒了,如何打印一个空心菱形,是用双指针算法?还是直接无脑for循环?

问题描述:

问题和编写代码很简单,难就难在如何把这个数学模型抽象出来。

解决方案:

#include
#define  KXLX(x) ( (x)>0? (x):(-x))
void lx(int size)//打印空心菱形
{
    for (int i = -size; i <= size; i++)
    {
        for (int j = -size; j <= size; j++)
        {
            if (KXLX(i) + KXLX(j) == size)
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
}
int main()
{
    lx(5);
    return 0;
}

你可能感兴趣的:(C语言学习之路,c语言,算法)