Как реализовать базовую функцию в C

#c #cs50

#c #cs50

Вопрос:

Этот код будет принимать пользовательский ввод и использовать его для построения блоков. Ввод числа от 1 до 8 должен напечатать что-то вроде этого.

 ###
###
###
 

Я хочу, чтобы он принимал целое число от пользователя и вместо этого печатал блоки следующим образом. Допустим, пользователь вводит число 5. В настоящее время вы получите это.

 #####
#####
#####
#####
#####
 

Однако я хочу, чтобы это было сделано.

 #
##
###
####
#####
 

Кто-нибудь может помочь мне понять, как это реализовать?

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



int main(void)
{
    int n;
    do
    {
        n = get_int("Size: ");
    }
    while (n < 1 || n > 8);
    for (int i = 0; i < n; i  )
    {
        for (int j = 0; j < n; j  )
        {
            printf("#");
        }
        printf("n");
    }
}
 

Комментарии:

1. внешний цикл имеет значение 5, поэтому индекс составляет 0,1,2,3,4, и вы хотите вывести 1,2,3,4,5 метки. таким образом, внутренний цикл должен считать i 1 количество раз, да? не n раз, да? дает вам 1,2,3,4,5 баллов за внешний цикл

Ответ №1:

изменить for (int j = 0; j < n; j )

Для for (int j = 0; j <= i; j )

Количество # будет увеличиваться с каждым циклом по мере i увеличения