题意有点难懂(´⌒`。)
t o i o y --------→ | |
h p k n n ←-------- | |
e l e a i --------→ | |
r a h s g ←-------- | |
e c o n h --------→ | |
s e m o t ←-------- | |
n l e w x --------→ ↓ ↓
h p k n n ←-------- | |
e l e a i --------→ | |
r a h s g ←-------- | |
e c o n h --------→ | |
s e m o t ←-------- | |
n l e w x --------→ ↓ ↓
输入方向 输出方向
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n,x;
string str1;
char str[100][20] = {0};
while (cin>>n && n!=0)
{
getchar();
getline(cin,str1);
x = 0;
for (int j = 0; j <str1.length()/n; j++)
{
if(j%2 == 0)
for (int i = 0;i<n;i++)
{
str[j][i] = str1[x++];
}
else
for(int i = n-1;i>=0;i--) //奇数行与偶数行一定要相同,此处不能写for(i = n;i>0;i++)
{
str[j][i] = str1[x++];
}
}
for (int i = 0;i<n;i++)
{
for (int j = 0; j <str1.length()/n; j++)
{
cout<<str[j][i];
}
}
cout<<endl;
}
return 0;
}