#include // 打印正六边形的函数 void printHexagon(int N) { int i,j; if (N < 1) { return; } // 上半部分 for (i = 0; i < N; i++) { // 打印前导空格 for (j = 0; j < N - 1 - i; j++) { printf(" "); } // 打印第一个星号 printf("*"); // 打印中间的空格 if (i != 0) { for (j = 0; j < 2 * i - 1; j++) { printf(" "); } // 打印第二个星号 printf("*"); } printf("\n"); } // 下半部分 for (i = N - 2; i >= 0; i--) { // 打印前导空格 for (j = 0; j < N - 1 - i; j++) { printf(" "); } // 打印第一个星号 printf("*"); // 打印中间的空格 if (i != 0) { for (j = 0; j < 2 * i - 1; j++) { printf(" "); } // 打印第二个星号 printf("*"); } printf("\n"); } } int main() { int N; printf("请输入正整数N: "); scanf("%d", &N); printHexagon(N); return 0; }