尝试根据用户输入制作马里奥金字塔。但是,如果遇到get int的问题,我可以寻求帮助吗?

时间:2019-04-23 23:41:11

标签: c cs50

尝试快速完成Mario问题,因为我有点落后,但是像总是一样的cs50沙箱总是与get int有关,错误提示:函数调用的参数太少,至少必须使用参数'format' 被指定

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

int main(void)
{
int n = 0;
do
{
int height;
//printf("Height: ");
 n= get_int();
}
while (n < 8 || n > 1);

for (int i=0; i<n; i++)
{
    for (int j=0; j<=n; j++)

    {
       if (i+j <(n=1)) 
     printf(" ");
        else
     printf("#");
    }
 printf("\n");


}

}

2 个答案:

答案 0 :(得分:0)

您不需要cs50.h。除非您的程序需要get_int。我希望该解决方案对您的学习有所帮助。

编辑:刚意识到马里奥金字塔与普通金字塔不同。我下面的解决方案是使用完整的金字塔。问题已经被提出,可以找到解决办法here

#include <stdio.h>

int main(void)
{
    int n, i, j, k;

    printf("Number: ");
    scanf("%d", &n);

    for (i = 0; i < n; i++)
    {

        for (j = 0; j < n-i; j++)
        {
            printf(" ");
        }

        for (k =0; k <= i; k++)
        {
            printf("# ");
        }

        printf("\n");
    }

} 

答案 1 :(得分:0)

您似乎需要为get_int函数提供一个字符串,请看这里https://reference.cs50.net/cs50/get_int

所以你应该有类似的东西

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

int main(void)
{
  int n = 0;
  do
  {
    int height;
    //printf("Height: ");
    n= get_int("Enter an int: ");
  }
  while (n < 8 || n > 1);