В настоящее время я прохожу через CS50 через edx и выполняю набор задач 1. Марио.
Цель состоит в том, чтобы создать распечатку с использованием знаков фунта. С помощью нескольких видео я получил код для первого, но я не понимаю, как работает математика / что понимает компьютер.
Так что я думаю, что если я не узнаю, я калечу себя позже.
if n= 5
Тогда я добавляю 1, пока он не станет меньше 5, что означает 5 раз да?
Посмотрите на эту строку для пробела>
for (int j = 0; j < n -1 - i; j++)
Если n равно 5, то в конечном итоге оно становится j (0) <3 ... </p>
Так почему в первой строке четыре пробела, а не три пробела?
#include <cs50.h>
#include <stdio.h>
int main(void)
{
int n;
do
{
n = get_int("Pyramid Height: ");
}
while (n < 0 || n >= 24);
//print out this many rows
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n -1 - i; j++)
{
printf(" ");
}
// print out this many columns
for (int j = 0; j < i + 2; j++)
{
printf("#");
}
printf("\n");
}
}
Я получил правильную пирамиду, но я не понимаю логику пробелов и отпечатков