给定一字符串,按顺时针顺序输出为一个正方形,具体规则如下:
1.从上边开始,上边从左到右
2.然后到右边,右边从上到下
3.然后是下边,下边从右到左
4.最后是左边,左边从下到上。
示例1
输入
abcdefghijklmnop
程序
#include <iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
string s;
while (cin >> s)
{
int index = 0;
int size = s.size();
int length = size / 4;
vector<vector<char>>number;
for (int i = 0; i <= length; i++)
{
number.push_back(vector<char>(length + 1, ' '));
}
int a = 0;
for (int i = 0; i <= length; i++)
{
number[0][i] = s[a++];
}
for (int i = 1; i < length; i++)
{
number[i][length] = s[a++];
}
for (int i = length; i >= 0; i--)
{
number[length][i] = s[a++];
}
for (int i = length; i > 1; i--)
{
number[i][0] = s[a++];
}
number[1][0] = s[size - 1];
for (int i = 0; i < number.size(); i++)
{
for (int j = 0; j < number[i].size(); j++)
{
cout << number[i][j];
}
cout << endl;
}
}
}