C语言一段打印菱形语句请帮忙加注释

{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>
int main()
{
/*输出一个菱形,七行七列*/
int i,j,k;
for (i=0;i<=3;i++)
{/*输出前四行,i分别等于0,1,2,3*/
for (j=0;j<=2-i;j++)/*第i行先输出3-i个空格*/
printf(" ");
for (k=0;k<=2*i;k++)/*再输出i+1个*号*/
printf("*");
printf("\n");/*输出回车*/
}
for (i=0;i<=2;i++)
{/*输出后三行,i分别等于0,1,2*/
for (j=0;j<=i;j++)/*第i行先输出i+1个空格*/
printf(" ");
for (k=0;k<=4-2*i;k++)/*再输出5-2i个*号*/
printf("*");
printf("\n");/*输出回车*/
}
return 0;
}

这主要是计算的问题,把想要输出的菱形自己画一下,看一下每一行的*号个数和行数有什么函数关系,就可以用循环输出了。
还是不太明白的话可以发消息问我~O(∩_∩)O
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-03
#include"stdio.h"

main()
{
int i,j,k;
for(i=0;i<=3;i++)
{for(j=0;j<=2-i;j++)
printf(" "); //第一行打3个空格,第二行2个,第三行一个,第四行0个
for(k=0;k<=2*i;k++)
printf("*"); //第一行打1个*号,第二行3个,第三行5个,第四行7个
printf("\n"); //上半部分打印完毕,换行
}
for(i=0;i<=2;i++) //下半部分开始打印
{for(j=0;j<=i;j++)
printf(" "); //第一行打1个空格,第二行2个,第三行3个
for(k=0;k<=4-2*i;k++)
printf("*");// 第一行打5个*号,第二行3个,第三行1个
printf("\n");
}
}