#include<stdio.h> int main(){ int a; while(scanf("%d",&a)!=EOF){ //多个测试数据一个一个进 int num=1; //每次需要更新num,因为金字塔尖都是1个(num用来控制每行字符多少) for(int i=0;i<a;i++){ //外层负责一行一行打印 //打印空格个数,用外层循环变量控制空格个数 for(int j=0;j<a-1-i;j++){ printf(" "); } //打印字符也同理 for(int i=0;i<num;i++){ printf("*"); } num+=2; //有数学规律,每加一行,字符多两个 printf("\n"); } } return 0; }