方法1: #include <stdio.h> #include <stdlib.h> int main(){ int i,j,k; //1~5行的图形 for (i = 0; i <=4; i++)//第一层for循环打印的是每一行 { for (j = 0; j <=3-i; j++)//每行前面的空格 { printf(" "); } for (k = 0; k <=2*i; k++) { if (k%2==0) { printf("*"); }else { printf(" "); } }printf("\n"); } //6~9行的图形 for (i = 0; i <=3; i++)//第一层for循环打印的是每一行 { for (j = 0; j <=i; j++)//每行前面的空格 { printf(" "); } for (k = 0; k <=6-2*i; k++) { if (k%2==0) { printf("*"); }else { printf(" "); } }printf("\n"); } system("pause"); return 0; } 方法二: #include <stdio.h> #include <stdlib.h> int main(){ int i,j; for (i = 0; i < 9; i++) { for ( j = 0; j < (4-i>0?4-i:i-4); j++) { putchar(' '); } for (j = 0; j < 9-2*abs(4-i); j++) { if (j%2) { putchar(' '); }else { putchar('*'); } } putchar('\n'); } }