该程序只是在用户输入行数时创建菱形的形状,以至于它只有6个for循环; 3路创建第一个三角形和3个回路,以创建其他的三角形,并与这两个三角形和6个环,我们有钻石,这是整个程序的映像:使用`for`循环的菱形形状输出
我对第5个for循环有点困惑,为第二个三角形创建空间的循环,循环以添加第一个空格开始,然后循环结束,程序继续到第6个循环,返回到第4个循环完成第5个循环&第6个循环全部结束,5个循环加上1,2,3,..空间有史以来,我们可以看到:spaces++
,问题是这是如何工作的?计数器c每次都会越来越高,所以每次都会有(空格和c)之间的差别为1,因此它假设每次只增加一个空格,对于那些了解我在说的内容的人,你能解释一下这也是我
int n, c, k, space = 1;
printf("Enter number of rows\n");
scanf("%d", &n);
space = n - 1;
for (k = 1; k <= n; k++)
{
for (c = 1; c <= space; c++)
printf(" ");
space--;
for (c = 1; c <= 2*k-1; c++)
printf("*");
printf("\n");
}
space = 1;
for (k = 1; k <= n - 1; k++)
{
for (c = 1; c <= space; c++)
printf(" ");
space++;
for (c = 1 ; c <= 2*(n-k)-1; c++)
printf("*");
printf("\n");
}
欢迎来到SO。请阅读这些链接(http://stackoverflow.com/questions/how-to-ask http://sscce.org/),了解如何发布问题。这样你会得到更好的结果。 http://stackoverflow.com/help/on-topic – OldProgrammer
了解如何格式化并花一些时间进行拼写。我厌倦了纠正拼写** im **和** u **的人。当然,大多数人都明白这一点,但事实是你没有花时间来使用正确的拼写,这表明对那些试图提供帮助的人毫无尊重。 –
完成编辑帖子 – darksphere