参考代码:
#include <cstdio>
#include <cstring>
int main()
{
char str[100], ans[40][40];
scanf("%s", str);
int N = strlen(str);
int n1 = (N + 2)/3;///是左右两边的字符数量
int n2 = N - n1 * 2 + 2;///是底部的字符数量
int post = 0; ///用于给str增加下标
for(int i = 1; i <= n1; i++)
{
for(int j = 1; j <= n2; j++)
{
ans[i][j] = ' ';
}
}
for(int i = 1; i <= n1; i++)
{
ans[i][1] = str[post++];
}
for(int i = 2; i <= n2; i++)
{
ans[n1][i] = str[post++];
}
for(int i = n1-1; i >= 1; i--)
{
ans[i][n2] = str[post++];
}
for(int i = 1; i <= n1; i++)
{
for(int j = 1; j <= n2; j++)
{
printf("%c", ans[i][j]);
}
printf("
");
}
return 0;
}