输入:toioynnkpheleaigshareconhtomesnlewx
输出:theresnoplacelikehomeonasnowynightx
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
#include <iostream>
using namespace std;
#include <string.h>
char *reverse(char *str,int start,int end)
{
char *temp=new char[1005];
while (start<=end)
{
*temp=*(str+start);
*(str+start)=*(str+end-1);
*(str+end-1)=*temp;
++start,--end;
}
return str;
}
int main()
{
char str[1005];
int n;
while (cin>>n>>str&&n)
{
int i=0,j=0,len=strlen(str);
if (len%n!=0)
break;
for (i=0; i<len; i+=n)
{
if (((i+n)/n)%2==0)
{
reverse(str,i,i+n);
}
}
//cout<<len<<endl
//cout<<str<<endl;
for (i=0; i<n; ++i)
{
j=i;
int flag=0;
while (true)
{
if (j+flag>=len)
break;
cout<<str[j+flag];
flag+=n;
}
}
cout<<endl;
}
return 0;
}
但是这个代码还是有问题 不知道怎么WA了