C-第二半中的星型不打印

时间:2019-03-19 14:06:35

标签: c

我一直在尝试打印星形图案,但之后却无法正常工作 如您所见,在“ if(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 :(得分:0)

  

尝试一下

#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;
}

Output