思路:先算出行数,然后再上半部分,再下半部分
#include<stdio.h>
#include<math.h>
int main()
{
int n,N;
char ch;
scanf("%d %c",&N,&ch);
n=sqrt((N+1)/2);
for(int i=1;i<=n;i++)
{
for(int j=i-1;j>0;j--)
printf(" ");
for(int k=1;k<=(n-i)*2+1;k++)
printf("%c",ch);
printf("\n");
}
for(int i=1;i<n;i++)
{
for(int j=1;j<n-i;j++)
printf(" ");
for(int k=1;k<=2*i+1;k++)
printf("%c",ch);
printf("\n");
}
int p=N-2*n*n+1;
printf("%d\n",p);
return 0;
}