请大神解析下c语言程序 main() { int i,j,k; for(i=0;i<=3

请大神解析下c语言程序
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++)

  printf("*");

 printf("\n");

 }

for(i=0;i<=2;i++)

 {

 for(j=0;j<=i;j++)

  printf(" ");

 for(k=0;k<=4-2*i;k++)

  printf("*");

 printf("\n");

 }

}

#include <stdio.h>
main()
{
    int i,j,k;
    for(i=0;i<=3;i++)    //这里找印前4行的星星    这里的i代表着第几行
    {
        for(j=0;j<=2-i;j++)          //j代表着第列     当第i行时,就打2-i个空格
            printf(" ");
        for(k=0;k<=2*i;k++)          //   这个是接着上面的,当上面的空格打完,就要打“*”了。  这里就是当第i行时,就打2*i个星。
                                    //   这里的值是从0开始的,所以每次都打奇数个“*”。
            printf("*");
        printf("\n");               //打完星是不能忘空格的
       
    }
    for(i=0;i<=2;i++)                //这里是打下半部分的星星。可以与上同样理解。。。
       
    {
        for(j=0;j<=i;j++)
            printf(" ");
        for(k=0;k<=4-2*i;k++)
            printf("*");
        printf("\n");
    }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-16
打印东西, 运行下看看
第2个回答  2013-05-16
。。。解释什么??算法??
第3个回答  2019-05-16
for(k=0;k<=2*i;k++) // 这个是接着上面的,当上面的空格打完,就要打“*”了。 这里就是当第i行时,就打2*i个星。
第4个回答  2019-05-15
*
***
*****
*******
*****
***
*
相似回答