这道题要注意下数组的范围最大是20列!!!
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char String[210],OutPut[105][25];
int nasce,Length,num,cur;
int main()
{
while(scanf("%d",&nasce))
{
if(nasce == 0)
break;
scanf("%s",String);
memset(OutPut,'\0',sizeof(OutPut));
Length = strlen(String);
num = Length / nasce;
cur = 0;
for(int i = 1; i <= num; i++)
{
if(i % 2)
for(int j = 1; j <= nasce; j++)
OutPut[i][j] = String[cur++];
else
for(int j = nasce; j >= 1; j--)
OutPut[i][j] = String[cur++];
}
for(int i = 1; i <= nasce; i++)
for(int j = 1; j <= num; j++)
printf("%c",OutPut[j][i]);
printf("\n");
}
return 0;
}