Пирамидальные шаблоны с использованием C

#c

Вопрос:

Мне нужно выполнить следующий шаблон, используя do-while, while или for.

введите описание изображения здесь

Я попробовал следующий код, но он печатает шаблон только 1-5, я также попытался изменить n на 10, но затем интервал сходит с ума.

 #include <stdio.h>
int main(void)
{
  int n = 5, i, j, num = 1, gap;


  gap = n - 1;

  for ( j = 1 ; j <= n ; j   )
  {
      num = j;

      for ( i = 1 ; i <= gap ; i   )
          printf(" ");

      gap --;

      for ( i = 1 ; i <= j ; i   )
      {
          printf("%d", num);
          num  ;
      }
      num--;
      num--;
      for ( i = 1 ; i < j ; i  )
      {
          printf("%d", num);
          num--;
      }
      printf("n");

  }

  return 0;
}
 

Ответ №1:

Попробуйте заменить оба случая:

printf("%d", num);

с

printf("%d", num % 10);

Теперь будет отображаться только последняя цифра.

После изменения, для n установки в 10 программу, производит:

          1
        232
       34543
      4567654
     567898765
    67890109876
   7890123210987
  890123454321098
 90123456765432109
0123456789876543210