#include
#include
int main()
{
int n,s,h;
char c;
scanf("%d %s\n",&n,&c);
s=(n+1)/2;
h=(int) sqrt(s);
for(int i=0;i
{
for(int j=0;j
printf(" ");
for(int j=0;j<2*(h-i)-1;j++)
printf("%s",c);
printf("\n");
}
for(int i=2;i<=h;i++)
{
for(int j=0;j
printf(" ");
for(int j=0;j<2i-1;i++)
printf("%s",c);
printf("\n");
}
printf("%d",n-2h*h+1);
return 0;
}
供参考:
#include <stdio.h>
#include <math.h>
int main()
{
int s, n;
char m;
scanf("%d %c",&s,&m);
n=sqrt((s+1)/2.0);
for(int i=n;i>0;i--)
{
for(int j=1;j<=n-i;j++)
printf(" ");
for(int j=2*i-1;j>=1;j--)
printf("%c",m);
printf("\n");
}
for(int i=2;i<=n;i++)
{
for(int j=n-i;j>=1;j--)
printf(" ");
for(int j=1;j<=2*i-1;j++)
printf("%c",m);
printf("\n");
}
printf("%d",s-(2*n*n-1));
return 0;
}