gpt4 book ai didi

c - 具有 `for` 循环的菱形输出

转载 作者:行者123 更新时间:2023-11-30 19:47:43 29 4
gpt4 key购买 nike

该程序只是在用户输入行数时创建菱形的形状,因此它有 6 个 for 循环; 3 个循环创建第一个三角形,3 个循环创建另一个三角形,通过这 2 个三角形和 6 个循环,我们得到了一个菱形,这是整个程序的图像:

Image

我对第 5 个 for 循环有点困惑,该循环为第二个三角形创建空间,循环从添加第一个空间开始,然后循环结束,程序继续到第 6 个循环并返回到第 4 个循环完成第 5 个和第 6 个循环,这 5 个循环每次都添加 1,2,3,.. 空格,我们可以从:spaces++ 中看到,问题是这是怎么回事在职的?计数器 c 也每次都变高,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");
}

最佳答案

the counter c is also getting higher every time, c++, so the difference between(space and c) will still be 1 every time

不,space++ 不是递增 c 的循环的一部分。该循环打印 space 空格;完成后,空格会增加,因此下次会再打印 1 个空格。

关于c - 具有 `for` 循环的菱形输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671740/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com