Как напечатать пирамиду с текстом на основе числа, данного пользователем? - PullRequest
0 голосов
/ 23 января 2019

В настоящее время застрял при создании пирамиды из хэшей (#) на основе числа, заданного пользовательским вводом. Пример для CS50 только описывает, как создать квадрат на основе заданного числа.

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

int main(void)
{
    int n = get_int("Number:\n");
    if(n>0 && n<9)
    for (int i = 0; i < n; i++)
  {
    for (int j = 0; j < n; j++)
    {
      printf("#");
    }
  printf("\n");
  }
}

Ожидаемый результат - создание пирамиды, которая будет равна x ширины и ширины # на основе данных, предоставленных пользователем.

Фактический результат - это квадрат, равный x на ширину и высоту # в зависимости от введенных пользователем данных.

1 Ответ

0 голосов
/ 23 января 2019

Вам нужен цикл, который печатает пробелы, пока счетчик второго цикла (j) не станет меньше n-i. Пожалуйста, смотрите ниже:

#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");
    }

} // end main function
...