Input
There will be multiple input sets. Input for each set will consist of two lines. The first line will contain an integer in the range 2 . ..20 indicating the number of columns used. The next line is a string of up to 200 lower case letters. The last input set is followed by a line containing a single 0, indicating end of input.
Output
Each input set should generate one line of output, giving the original plaintext message, with no spaces.
Sample Input
5
toioynnkpheleaigshareconhtomesnlewx
3
ttyohhieneesiaabss
0
Sample Output
theresnoplacelikehomeonasnowynightx
thisistheeasyoneab
代码实现:
#include<stdio.h>
#include<string.h>
int main() {
int i, j, n, k = 1;
char s[1000];
char a[200][200] = {0};
while (1) {
scanf("%d", &n);
if (n == 0 ) break;
scanf("%s", s);
k = 1;
for (i = 0; i < strlen(s)/n; i++) {
if (k == 1) {
for (j = 0; j < n; j++) {
a[i][j] = s[i*n + j];
}
k = k*(-1);
} else {
for (j = n - 1; j >= 0 ; j--) {
a[i][j] = s[i*n + n - j - 1];
}
k = k*(-1);
}
}
for (j = 0; j < n; j++) {
for (i = 0; i < strlen(s)/n; i++)
printf("%c", a[i][j]);
}
printf("\n");
}
return 0;
}