输入一个长度不超过50的由小字字母构成的字符串,输出由这个字符序列构成的最大的正方形。
输入格式:
由小写字母构成的一个字符串。
输出格式:
将字符串围成最大可能的正方形输出,字符串从正方形的左上方开始,按顺时针方向绕行。
输入样例1:
a
输出样例1:
a
输入样例2:
happy
输出样例2:
ha
pp
输入样例3:
abcdefghijklmn
输出样例3:
abcd
l e
k f
jihg
#include<iomanip>
#include<istream>
#include<string>
#include<iostream>
using namespace std;
int main()
{
string s;
while (cin >> s)
{
int size = s.size();
int length = size / 4;
if (size<4) //这里考虑字符串长度小于4的特殊情况
{
cout << s[0];
}
else
{
for (int i = 0; i < length+1; i++)
{
cout << s[i];
}
cout << endl;
for (int j = 1; j < length+1 - 1; j++)
{
cout << s[4 * (length+1) - 4 - j];
cout << setw(length+1 - 1) << s[length+1 + j - 1] << endl;
}//用空格填充正方形内部的空间
for (int n = 0; n < length+1; n++)
{
cout << s[3 * (length+1) - 3 - n];
}
cout << endl;
}
}
system("pause");
return 0;
}