简单模拟。

CODE:

 #include <stdio.h>

#include <string.h>
#include <stdlib.h>
using namespace std;

const int maxn = 101

char s[maxn][maxn];

int main()
{
    int c;
    int cnt;
    char str[201];
    while(~scanf("%d", &c), c)
    {
        int i, j;
        scanf("%s", str);
        int l = strlen(str)/c;
        cnt = 0;
        for(i = 0 ; i < l; i++)
        {
            if(i%2 == 0)
            {
                for(j = 0 ; j < c; j++)
                {
                    s[i][j] = str[cnt++];
                }
            }
            else
            {
                for(j = c-1; j >= 0; j--)
                {
                    s[i][j] = str[cnt++];
                }
            }
        }
        for(j = 0 ;j < c; j++)
        {
            for(i = 0 ; i < l ; i++)
            {
                printf("%c", s[i][j]);
            }
        }
        puts("");
    }
    return 0;
}
posted on 2012-07-18 16:09  有间博客  阅读(132)  评论(0编辑  收藏  举报