一、题目
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束
输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。
输入样例1:
4
This is a test case
输出样例1:
asa T
st ih
e tsi
ce s
二、解决方案
1.思路
①根据输出样例我们可以先确定一个二维数组,同时在注意gets函数输入字符串之前,先用getchar()把我们scanf后的回车给获取掉,不然gets会遇到回车终止
②我们确定二维数组的行和列,行由我们输入,列我们就自己求,注意如果不能整除,要给列数+1
③从列开始输入我们的字符串,注意列从大到小(从右向左)遍历,行从小到大(从上向下)遍历,注意如果字符串结束时,我们给那个值赋值一个‘ ’,防止我们之后打印时不整齐的情况。(不用担心因为这个空格导致列数超出的情况,因为要打印的列数我们都是计算好的)
——————————————
2.代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#incl