【发布时间】:2015-07-21 01:55:13
【问题描述】:
目前正在上 CS-50 课程,想知道是否有人可以帮助我。我应该创建一个程序,它会询问用户 1-23 之间的高度(并不断提示用户,直到给出有效答案)---我能够编写这部分代码。
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int height;
do
{
printf("please give me a height between 1-23: ");
height = GetInt();
}
while (height < 1 || height > 23);
}
do while 循环似乎按照它的意图进行。现在,给定变量“height”的程序现在需要创建该高度的金字塔。金字塔的底部将与终端的左下角对齐,其最后“行”将以 2 个哈希结束:
高度为 4 的金字塔示例:
##
###
####
#####
但是代码需要对金字塔 1-23 的任何高度都是通用的。 这是我遇到困难的地方(实际上是编写代码来绘制它)。
我注意到,对于每一行,所需的散列数(如果我们称顶行“第 1 行”和随后的“第 2 行”等等...... 行号+1。至于需要多少个空格,可以用行高数来表示。 如果有人能够向我解释如何使用 C 编写这个程序,将不胜感激! :)
【问题讨论】:
-
使用两个嵌套循环来生成输出。根据发现的规则,内部循环应该发出空格和破折号(例如单行)。外部循环简单地迭代,直到所有行都完成。
-
我对 C 完全陌生,我不确定我是否理解。你能告诉我你的意思吗?