题目描述 中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。
输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。
输入样例:
4 This is a test case输出样例:
asa T st ih e tsi ce s用num记录每一行的字符个数,如果不满这个多个字符,则补空格之后倒序输出
#include<iostream> #include<algorithm> using namespace std; int main(){ int n; cin >> n; getchar(); string s; getline(cin, s); int num; for(int i=0; i<n; i++){ int t=i; string s0; while(t<s.length()){ s0+=s[t]; t+=n; } if(i==0) num=s0.length(); if(s0.length() < num) s0.append(num-s0.length(), ' '); reverse(s0.begin(), s0.end()); cout << s0 << endl; } }