解题代码
#include<cstdio>
#include<cstring>
int main()
{
int row, pol, N;
char hello[81];
scanf("%s", hello);
N = strlen(hello);
row = (N+2) / 3;
pol = N + 2 - 2 * row;
for (int i = 0; i < row-1; i++) {
printf("%c", hello[i]);
for (int j = 1; j < pol - 1; j++)
printf(" ");
printf("%c\n", hello[N - 1 - i]);
}
for (int i = 0; i < pol; i++)
printf("%c", hello[row-1+i]);
return 0;
}
测试结果
问题整理
1.图形输出。
2.这类问题的重点在于从输入中得到行和列,然后搞清楚每行每列如何输出即可。
3.记得strlen()的用法。