疑问:菱形打印问题
打印出如下图案(菱形 用for语句)*
***
*****
*******
*****
***
*
想了半天也没想出该怎样用循环语句来实现,就到网上搜了一下代码,可算法还是不理解
如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++) //像这里,k<=2*i是怎么想到的阿~~
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)//这里又没用i--,又怎么会倒过来输出呢?
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++) //k又变成了4-2*i 这是怎么想到的呢?
printf("*");
printf("\n");
}
getch();
}
ps:貌似论坛也有类似的帖子,可算法大都很难想啊
[[it] 本帖最后由 yjcf 于 2008-4-21 22:31 编辑 [/it]]