我正在为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");
}
}