如何将我的标签金字塔编程到左侧?

时间:2016-10-23 15:46:47

标签: c cs50

我刚开始学习edx课程,我很确定你们都听说过哈佛大学的CS50计算机科学入门课程。我在我的第一个pset上遇到问题,他们要求我创建一个标签金字塔。我设法创造了金字塔,但它在错误的一面,它应该是这样的:

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

但我的是在右边......我找不到翻转它的方法:(。

这是我的代码:

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

int main(void)
{
    //declare variables.
    int line, space, hash, user;

    //promping user until get the right answer.
    do
     {
        printf("Height of pyramid: ");
        user = GetInt();
    }
    while(user < 0 || user > 23);


    //whill print new lines
    for (line = 1; line <= user; line++)
    {
        //print spaces
        for(space = 0; space > 0; space--) {
            printf(" ");
        }

        //print hashes
        for (hash = 0; hash <= line; hash++) {
            printf("#");
        }
        printf("\n");
     }
    }

任何人都可以帮我这个吗?我现在很沮丧。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

而不是

//print spaces
for(space = 0; space > 0; space--) {
    printf(" ");
}

使用

//print spaces
for(space = user - line; space > 0; space--) {
    printf(" ");
}
  

和 - (风向标发现此错误 - 输出在每行中额外增加1个#

而不是

for (hash = 0; hash <= line; hash++) {

使用

for (hash = 0; hash < line; hash++) {