马里奥问题集-为什么不打印哈希值?

时间:2019-07-30 15:49:12

标签: c cs50

我目前正在尝试为Mario问题集(较不舒适)打印一个哈希金字塔,而不会打印。有人可以查看我的代码并查明我要去哪里了吗?提前非常感谢您。

Get-ADComputer -Filter {operatingsystem -like '*server*'} |
    where {
        $_.distinguishedname -notlike '*production*' -and
        $_.distinguishedname -notlike '*tbd*' -and
        $_.distinguishedname -notlike '*disabled*' -and
        $_.distinguishedname -notlike '*domain controll*'
    } |
    Select Name, Distinguishedname |
    Export-Csv -Path C:\Users\User1\wrongOU.csv |
    Send-MailMessage -From 'from.email@gmail.com' -To 'to.email@gmail.com' -Subject 'This is a test email.' -SmtpServer smtp.test.com -Attachments "C:\Users\User1\File.txt" -Body 'This is a test email.'

2 个答案:

答案 0 :(得分:0)

假设您正在使用CS50 Lab和make进行编译。由于阴影变量(如@Weather Vane的评论中所述)和其他错误,该程序将进行编译。因此,我假设正在运行的可执行文件(即./mario)是未打印结果的旧版本源文件的最后一个良好编译。

此代码中的for循环是一个无限循环。如果您纠正了编译错误,则除了#之外什么都看不到。

建议您删除“旧的”编译版本(终端中的rm mario),然后修改代码,以便1)可以编译并且2)不创建无限循环。

请记住,您声明一个包含类型的变量,例如:int height;。但是,当您使用变量时(如int height = get_int("height: ");),您不会使用类型声明。

答案 1 :(得分:0)

尝试此代码,希望对您有帮助

#include<stdio.h>
#include<cs50.h>
 int main(void){


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

for(int i=1;i<height+1;i++)
{

    for(int j=0;j<height-i;j++)
    {
        printf("%s"," ");
    }
    for(int l=0;l<1;l++)
    {
        printf("#");
    }
for(int k=0;k<i;k++)
{
    printf("#");


}

printf("\n");


}
}