检查50时cs50 mario金字塔错误

时间:2017-03-12 12:41:56

标签: c cs50

我正在为cs50课程做马里奥金字塔任务,代码可以工作,但是当我检查50时我会遇到错误。有人建议用字符替换空格以查看错误,我做了(而不是空格)但我仍然无法弄明白。空间似乎有问题,但我不知道它是什么。

Expecting the following on standard out —

 #  #
##  ##
... but received the following on standard out instead 
— a#  #
  ##  ##
... but received the following on standard out instead —

aaaaaaaaaaaaaaaaaaaaaa#  #
aaaaaaaaaaaaaaaaaaaaa##  ##
aaaaaaaaaaaaaaaaaaaa###  ###
aaaaaaaaaaaaaaaaaaa####  ####
aaaaaaaaaaaaaaaaaa#####  #####
aaaaaaaaaaaaaaaaa######  ######
aaaaaaaaaaaaaaaa#######  #######
aaaaaaaaaaaaaaa########  ########
aaaaaaaaaaaaaa#########  #########
aaaaaaaaaaaaa##########  ##########
aaaaaaaaaaaa###########  ###########
aaaaaaaaaaa############  ############
aaaaaaaaaa#############  #############
aaaaaaaaa##############  ##############
aaaaaaaa###############  ###############
aaaaaaa################  ################
aaaaaa#################  #################
aaaaa##################  ##################
aaaa###################  ###################
aaa####################  ####################
aa#####################  #####################
a######################  ######################
#######################  #######################



#include <stdio.h>
#include <cs50.h>
int main(void)
{
    int height;
    int row;
    int hash;
    int space;

    do
    { 
      printf("Height:");
      height =get_int();

    }
    while (height<0 || height>23);

      for (row = 0; row < height; row++) 
      {
              for (space = (height-row-2); space>= 0; space--)
              {
                printf ("a");
              }
              for (hash = 0; hash <= row; hash++)
              {
                printf ("#");
              }
                printf("  ");
                for (hash=0; hash <= row; hash++)
                {
                  printf("#");
                }
              printf("\n");
      }
}

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码并且工作得很好(阅读:它通过了check50)。 这是一个截图

mario.c