gpt4 book ai didi

CS50 马里奥 : How can I improve this code?

转载 作者:行者123 更新时间:2023-11-30 20:20:42 25 4
gpt4 key购买 nike

我花了一整天的时间才弄清楚这一点,但即使我完成了它,我也不完全理解它是如何工作的,我觉得有更好或更干净的编写方式。

有人可以解释一下我如何改进我的代码吗?

#include<cs50.h>
#include<stdio.h>

int main(void)
{
int rows, height, spaces, hashes;

do
{
printf("Height: ");
height = get_int();
}
while(height < 0 || height > 23);

for(rows = 0 ; rows < height; rows++)
{
for(spaces = height - 1; spaces > rows; spaces--)
{
printf(" ");
}

for(hashes = 0; hashes < spaces + 2; hashes++)
{
printf("#");
}

printf("\n");
}

return 0;
}

最佳答案

最好首先尝试了解代码的作用。从输入 1 开始,在纸上完成它。

如果您有兴趣,您可能想探索 printf width and precision formatting ,其中格式说明符中的每个 * 均替换为相应的函数参数。但要注意 - printf 是一个复杂而详细的函数。这还引入了数组

char hatch[] = "##############################";
for(rows = 0; rows < height; rows++) {
printf("%*.*s\n", height + 1, rows + 2, hatch);
}

对于 1 的输入,程序将打印

##

对于 5 的输入,它会打印

    ##
###
####
#####
######

这也是如此。该循环包含一条指令。

关于CS50 马里奥 : How can I improve this code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45000434/

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