c语言编写一个程序,输入正整数N,在屏幕上用*打印以N为边长的正六边形

img



int main()
{
    int N;
    printf("输入边长:");
    scanf("%d", &N);
    
    for (int i = 0;i < N;i++) {
        if (i == 0) {
            for (int j = 0;j <N;j++) {
            printf(" ");
            }
        }
        printf("*");
    }
    printf("\n");
    
    for (int i = 1;i < N;i++) {
        for (int j = 0;j <=N-i-1;j++) {
            printf(" ");
        }
        printf("*");
        for (int k = 0;k < N+2*i-2;k++) {
            printf(" ");
        }
        printf("*");
        printf("\n");
    }
    for (int i = N-2;i >0;i--) {
        for (int j = 0;j <= N - i - 1;j++) {
            printf(" ");
        }
        printf("*");
        for (int k = 0;k < N + 2 * i - 2;k++) {
            printf(" ");
        }
        printf("*");
        printf("\n");
    }
    
    for (int i = 0;i < N;i++) {
        if (i == 0) {
            for (int j = 0;j < N;j++) {
                printf(" ");
            }
        }
        printf("*");
    }
    return 0;
}