Я пытаюсь написать программу, которая сделает узор звезд. Последняя строка действительно меня отключает. Я должен сделать код только с помощью операторов printf("*");
printf(" ");
printf("\n");
. Я хочу выполнить это с помощью циклов for и if.C программа для печати нерегулярного звездного рисунка
Он должен выглядеть следующим образом:
* - 5 spaces before * * * - 4 spaces before * * * * - 3 spaces before * * * * * * * - 0 spaces before *
Это то, что я пытался до сих пор:
main()
{
int i, j, k;
i=1;
j=1;
for(i=4;i>=1;i--)
{
for(j=1;j<=4;j++)
{
if(j>=i || ((i+j)==5) && !(j==2) && !(j==3))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
и
main()
{
int i, j, k;
for(i=4;i>=1;i--)
{
for(j=1;j<i;j++)
{
printf(" ");
}
for(k=4;k>=i;k--)
{
if((k>=i) ||((k>=i) && ((i+k)==5)))
{
printf("*");
}
}
printf("\n");
}
}
Я думаю, что мой первый подход далеко. Но я думаю, что я нахожусь во втором звене. Я пытаюсь напечатать «*» и дополнительно 2 раза на четвертой строке. вторая ссылка компилятор, по-видимому, игнорирует || оператор. Как мне изменить оператор if, чтобы этот шаблон работал?
должна ли программа быть статической или вы хотите изменить количество строк, которые будут напечатаны? И почему он падает с 5,4,3, а затем 0? – Rizier123
Внесите код в строку, чтобы сохранить SO независимо от других веб-сайтов. – potrzebie
Код должен быть статическим. Я хотел, чтобы первые 3 строки следовали шаблону, а четвертая строка - исключение из шаблона. Я думал, что смогу выполнить это с помощью инструкции if. – EbuCode