Star Pattern в C- 2-й половине не печатает - PullRequest
0 голосов
/ 19 марта 2019

Я пытался напечатать шаблон звезды, но он не работает после «если (i> 4)», как вы можете видеть на втором изображении, есть промежуток между ними, который подразумевает, что пробелы получают печать или новую строку, норисунок звезды не печатается

Star pattern

enter code here

//the first half
int main() {
 int i,j,k,m;
 for (i=1;i<=4;i++) {
     for (j=1;j<=4-i;j++) {
        printf(" ");
     }
     for(k=1;k<=i;k++)
     {
        printf("*");
     }
     printf("\n"); // to print the first half
 }
 //the second half
 if(i>4){
 for(j=1;j<=i-2;j++)
 {
     for (k=1;k<=j;k++) {
        printf(" ");
     }
     for(m=1;m<=4-i;m++)
     {
        printf("*");
     }
     printf("\n");
 }
 }
 return 0;
}

enter image description here

1 Ответ

0 голосов
/ 19 марта 2019

Попробуйте это

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    n = n/2+1;
    for(int i=1;i<=n;i++)
    {
        for(int j=n-i;j>=1;j--)
        {
            printf(" ");
        }
        for(int k=1;k<=i;k++)
        {
            printf("*");
        }
        printf("\n");
    }

    for(int i=1;i<=n;i++)
    {

        for(int k=1;k<=i;k++)
        {
            printf(" ");
        }
        for(int j=n-i;j>=1;j--)
        {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

Вывод

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...