项目场景:
今天被学长问倒了,如何打印一个空心菱形,是用双指针算法?还是直接无脑for循环?
问题描述:
问题和编写代码很简单,难就难在如何把这个数学模型抽象出来。
解决方案:
#include<stdio.h>
#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;
}