zoukankan      html  css  js  c++  java
  • L1-039 古风排版 (20分)

    L1-039 古风排版 (20分)

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

    输入格式:

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

    输出格式:

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

    输入样例:

    4
    This is a test case
    

    输出样例:

    asa T
    st ih
    e tsi
     ce s
    

    解题思路:

    通过在字符串末尾添加一定数量的空格,使得字符串的长度变为 (N) 的整数倍。再根据题目中的行列转换规则,逐行输出。容易得出第 (i) 行第一个字符为新的字符串中倒数第 (N+1-i) 个字符,再往前数 (N) 个便是下一个字符,以此类推。

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    int n,len;
    string s;
    int main()
    {
        cin>>n;
        while(getchar()!='
    ')continue;
        getline(cin,s);
        len=s.length();
        int t=len%n;
        if(t)                                   /*无法整除时添加一定数量的空格*/
            for(int i=1;i<=n-t;i++)s+=" ";
        len=s.length();
        for(int i=1;i<=n;i++)                   /*逐行输出*/
        {
            for(int j=len+i-1-n;j>=0;j-=n)cout<<s[j];
            cout<<endl;
        }
        return 0;
    }
    
  • 相关阅读:
    第十一周编程作业
    第十周作业
    第九周编程作业
    第八周作业总结
    第七周作业编程
    第六周作业总结
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告(二)
    第三周总结
    java2
  • 原文地址:https://www.cnblogs.com/LengYun/p/13141032.html
Copyright © 2011-2022 走看看