acm输出超限,大佬帮我看下,漂亮菱形

#include

int main()
{
int n, j, i,a[100],k=0,z=0,l=1;

while (scanf("%d", &n)!=EOF)
{

    if (n != 0)
    {
        a[k] = n; k++;
    }
    else
    {
        break;
    }
}
for (z = 0; z <= k; z++)
{
  for (i = 1; i <= a[z] / 2 + 1; i++)
    {
        for (j = 1; j <= a[z] / 2 + i; j++)
        {
            if (j >= a[z] / 2 - i + 2)
                printf("*");
            else
                printf(" ");
        }
        printf("\n");
    }
    for (i = a[z] / 2; i >= 1; i--)
    {
        for (j = 1; j <= a[z] / 2 + i; j++)
        if (j >= a[z] / 2 - i + 2)
            printf("*");
        else
            printf(" ");
            printf("\n");
    }
}

return 0;

}

    for (j = 1; j <= a[z] / 2 + i; j++)
    if (j >= a[z] / 2 - i + 2)
        printf("*");
    else
        printf(" ");
        printf("\n");
printf("\n");在内侧if,内侧if要花括号
在外侧循环,外侧需要花括号