怎么用C语言打印菱形图案

来源:百度知道 编辑:UC知道 时间:2024/09/21 05:39:42
请解释

4. 打印以下图案:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1

#include "stdio.h"
#include "math.h"
void pr(int i);
main()
{
int i;
for (i=1;i<=4;i++)
{
pr(i);
putchar('\n');
}
i-=2;
while (i)
{
pr(i--);
putchar('\n');
}
}
void pr(int i)
{
int j;
for (j=4-i;j>0;j--)
putchar(' ');
for (j=1;j<=2*i-1;j++)
{
printf("%d",i-abs(j-i));
}
}

谁来给这位爷解释一下

一楼的`````````用的着写的这么麻烦吗?
写简单点不就好了