#include<stdio.h>
int main(){
int n=0;
while(scanf("%d",&n) !=EOF){
//上半
for(int i=0;i<n+1;i++){
for(int j=0;j<2*(n-i);j++){
printf(" ");
}
for(int j=0;j<i+1;j++){
printf("*");
}
printf("\n");
}
//下半
for(int i=0;i<n;i++){
for(int j=0;j<2*(i+1);j++){
printf(" ");
}
for(int j=0;j<n-i;j++){
printf("*");
}
printf("\n");
}
}
return 0;
}
将箭型分为两半,上半比下半多一行,然后考虑其中空格和*的打印
京公网安备 11010502036488号