得分20,满分
#include <cstdio>
#include<cstring>
int side_length(int num,int* k)
{
int low_bound = 0,n2_int=0;
double n2_double = 0.0;
if(7 - num < 0) low_bound = 0;
else if ((7 - num)%2 == 1) low_bound = (int)(7 - num)/2 + 1;
else low_bound = (7 - num) / 2;
int j = low_bound;
for(int i = low_bound;i <= num - 1;i++)
{
n2_double = ((double)num + 2 + 2 * i) / 3;
n2_int = (int)n2_double;
if(n2_int == n2_double)
{
*k = j;
break;
}
j++;
}
*k = j;
return n2_int;
}
int main()
{
int k=0,num=0;
int n1=0,n2=0,n3=0;
char c,list_c[80];
scanf("%s",list_c);
num = strlen(list_c);
n2 = side_length(num,&k);
n1 = n2 - k, n3 = n2 - k;
for(int i = 0; i < n1 - 1; i++)
{
printf("%c",list_c[i]);
for(int j = 0;j < n2 - 2; j++)
{
printf(" ");
}
printf("%c\n",list_c[num -1 -i]);
}
for(int i = 0; i < n2 ; i++)
{
printf("%c",list_c[n1 - 1 + i]);
}
return 0;
}