古风排版(C语言)

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

古风排版

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

输入格式:

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

输出格式:

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

输入样例:

4

This is a test case

输出样例:

asa T

st ih

e tsi

ce s

代码:

#include<stdio.h>
#include<string.h>
char c[10000];//存储字符串
int main(){
  int n;//存储每列字符个数,也就是写成古风后的行数
  scanf("%d",&n);//输入n
  getchar();//获取回车
  gets(c);//输入字符串
  int i,j;//定义循环变量
  int w;//存储写成古风后的列数
  w=strlen(c)%n;//检测是否为整数列
  if(w!=0){
    w=strlen(c)/n+1;//非整数列
  }else{//整数列
    w=strlen(c)/n;
  }
  for(i=0;i<n;i++){//遍历行
    for(j=0;j<w;j++){//遍历列
      if((w-j-1)*n+i>=strlen(c)){//查看是否超出字符串长度,最后一列可能写不齐,所以输出空格
        printf(" ");
      }else{//计算并输出i行j列的字符
        printf("%c",c[(w-j-1)*n+i]);
      }
    }
    printf("\n");//每行结束后换行
  }
  return 0;
}
相关文章
|
9月前
|
算法 C语言 C++
【c语言】飞机大战(1)
【c语言】飞机大战(1)
83 1
|
定位技术 C语言 C++
C语言书写推箱子(坤坤版easyx库)
C语言书写推箱子(坤坤版easyx库)
|
4月前
|
算法 C语言
【C语言】制作一个表白用的移动字幕
【C语言】制作一个表白用的移动字幕
|
8月前
|
C语言
【海贼王编程冒险 - C语言海上篇】怎样用C语言实现简单的扫雷游戏?
【海贼王编程冒险 - C语言海上篇】怎样用C语言实现简单的扫雷游戏?
52 1
|
9月前
|
程序员 编译器 C语言
C语言满屏飘字表白代码
C语言满屏飘字表白代码
222 0
|
8月前
|
存储 C语言
【海贼王编程冒险 - C语言海上篇】C语言中的数据类型有哪些?又是如何存储?
【海贼王编程冒险 - C语言海上篇】C语言中的数据类型有哪些?又是如何存储?
48 0
|
C语言
C语言听课准备
C语言听课准备
45 0
|
9月前
|
Linux C语言
俄罗斯方块(c语言)
俄罗斯方块(c语言)
|
9月前
|
存储 定位技术 API
c语言——俄罗斯方块
c语言——俄罗斯方块
200 0
|
9月前
|
存储 C语言
【c语言】飞机大战2
【c语言】飞机大战2
72 0

热门文章

最新文章