分析:
本题只是一道简单的模拟,如果把一维字符串模拟进二维字符串后输出会比较稳,但当直接将一维字符串模拟输出时就出现问题了,因为数据只保证小于1000,但为了符合格式输出时补上空格,就会超过1000,所以一维数组的大小必须大于1100才行。
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char a[1100] = {
0 }, temp;
int r, c, len;
scanf("%d", &r);
getchar();
for (int i = 0; (temp = getchar()) != '\n'; i++)
{
a[i] = temp;
len=i+1;
}
c = (len / r) + (len%r != 0);
for (int i = len; i<r*c; i++)a[i] = ' ';
len = r*c;
for (int i = 0; i<r; i++)
{
for (int j = 0; j<c; j++)
{
printf("%c", a[len + i - j*r - r]);
}
puts("");
}
return 0;
}