古风排版

中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

输入格式:

输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

输出格式:

按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)

输入样例:

4
This is a test case
输出样例:
asa T
st ih
e tsi

ce s

 

【注】:这个题的关键就是格式,感觉当时比赛时一次就AC也是比较幸运的

 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;

char s[1010];

int main()
{
    int t = 0;
    int n, m;

    scanf("%d", &n);
    getchar();
    gets(s);

    int len = strlen(s);

    m = len / n;
    if (len > m*n)
        m++;

    for (int j = 0; j < n; j++)
    {
        for (int i = m-1; i >= 0; i--)
        {
            if (i*n+j >= len)
                printf(" ");
            else
            {
                printf("%c", s[i*n+j]);
            }
        }
        printf("\n");
    }
	
    return 0;
}

 

你可能感兴趣的:(ACM练习)