Попытка выделить каждую из моих выходных строк (создание перевернутого треугольника)

#c #for-loop #nested-for-loop

#c #для цикла #вложенный для цикла

Вопрос:

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

Мой код

 #include <stdio.h>
#include <math.h>

// compiler issue on 2nd digit 

int main(){

long long number;

printf("Enter a numbern");
printf("Enter your number = ");
scanf("%lld", amp;number);


    for(int j=1; j<= (log10(number) 1); j  ){
    for(int i=1; i<= (log10(number) 1) - (j-1); i  ){
       printf("%d   ", (number%((int)pow(10, i)))/(int)pow(10, i-1));
    
   }
       printf("n");

   }

   
   return 0;
}
  

Мой вывод:

 Enter a number
Enter your number = 12345
5   4   3   2   1
5   4   3   2
5   4   3
5   4
5   
  

Что я пытаюсь вывести:

 Enter a number
Enter your number = 12345
 5   4   3   2   1
   5   4   3   2
     5   4   3
       5   4
         5   
  

Пример программы, которую я имел в виду

 int main()
{
    int l;
    for(l=0; l<3; l  ){
        printf("%*s Movingn", l, "");
        
    }
    
    return 0;
}
  

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

1. Используйте последнюю идею и вставьте a printf("%*s", 2*j-1, ""); в начале каждой строки.

2. Большое спасибо, что сработало! Я пытаюсь создать песочные часы, я предполагаю, что мне нужно снова скопировать и вставить вложенные циклы for, но переключиться на нижний треугольник?

3. Правильно, выполнение j цикла в обратном порядке выведет треугольник, направленный вверх.