C语言打印特殊图形))

输入边长值,理由for嵌套if里面应该设置怎么样的条件才能打印这样的图形咧,求问求问

img


#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
    {
        int flag = 0;
        for (int j = 1; j <= n; j++)
        {
            if(i % 2 != 0){
                printf("*\t");
            }else{
                if(j > n-i+1 && flag == 0){
                    printf("*\t");
                    flag = 1;
                }else{
                    printf(" \t");
                    flag = 0;
                }
            }
        }
        printf("\n");
    }
    return 0;
}

使用一个char m[最大高度][最大宽度];数组,初始化为全空格,然后循环画*,最后按行输出数组m的内容。