题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1200
这个题目一定要理解意思 找到规律 例如: There’s no place like home on a snowy nigh
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
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n,i,j,m,k;
char s[201];
while(cin>>n && n!=0)
{
getchar();
gets(s);
m=strlen(s);
for(i=0;i<n;i++)
{
cout<<s[i]; //输出第一行
for(j=2;j<=m/n;j++) //当i=0输出的下标: 9 10 19 20 29 30
{ //当i=1输出的下标: 8 11 18 21 28 31
if(j%2!=0) cout<<s[(j-1)*n+i]; //当i=2输出的下标: 7 12 17 22 27 32
else cout<<s[j*n-1-i]; //....
} //由此可推出规律
}
cout<<endl;
}
return 0;
}