#include<stdio.h>
#include<math.h>
int main(){
int n,m,t,i,j;
char c;
scanf("%d %c",&n,&c);
m=1;//中间那一个符号
n=n-m;//去掉中间那一个符号
while(n-2*(m+2)>=0){
m=m+2;
n=n-2*m;
}
t=m/2;
for(i=0;i<m;i++){
for(j=0;j<t-abs(i-t);j++)
printf(" ");
for(j=0;j<abs(t-i)*2+1;j++)
printf("%c",c);
printf("\n");
}
printf("%d",n);
return 0;
}
总结:
1、得到m的值,即循环多少行。
2、
加abs()绝对值函数 只要是防止打印下半部分时会出现负数。