古风排版(不使用二维数组)
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。 输入样例: 4 This is a test case 输出样例: asa T st ih e tsi ce s 代码实现: #include<bits/stdc++.h> using namespace std; char str[1110]; //开这么大是因为最后一列算上多出的空格可能会超过1000,但超过的数量不会超过100 int main(){ int n, sum = 0; // sum用来存放输入的字符数 char c; scanf("%d", &n); getchar(); fill(str, str + 1110, ' '); //将字符数组全置为空格 c = getchar(); while(c != '\n'){ str[sum++] = c; c = getchar(); } int k; // k用来存加上最后多出的空格一共需要输出多少个字符 if(sum % n == 0) k = sum - 1; else k = (sum + n) / n * n -