#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
цикла в обратном порядке выведет треугольник, направленный вверх.