Я пытаюсь написать программу на C с использованием циклов for, которые будут выводить образец, подобный этому:
1
2 3
4 5 6
7 8 9 10
Как вы можете видеть, образец представляет собой прямоугольный треугольник с каждой строкой с такое же количество чисел, как и первое число в каждой строке. Я новичок в C и выбрал go о решении, чтобы попрактиковаться в использовании циклов for, и сделал это шаг за шагом, поэтому я решил сначала узнать, как я могу напечатать первый столбец. Вот мой код:
#include <stdio.h>
int main()
{
int n;
int p = 1;
printf("enter number of rows: ");
scanf("%d", &n);
for (int i= 1; i <= n; i += p++){
printf("%d\n", i);
}
return 0;
}
Я обнаружил, что первое число каждого столбца увеличивалось на 1 при разбиении, например ( 1 + 1 = 2 , 2 + 2 = 4 , 4 + 3 = 7 ) Как вы можете видеть, каждое число, выделенное мною жирным шрифтом, составляет первый столбец. Моя проблема в том, что когда я прошу пользователя ввести значение для создания определенного c числа строк, например, 5, оператор for выводит только 4 строки, как вы можете видеть ниже:
enter number of rows: 5
1
2
4
Я предполагаю, что это связано с выражением i <= n, но как мне указать количество строк, не прерывая вычисление первого столбца? </strong>