用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

咕噜船长    -  云代码空间

——

古风输出

2017-04-29|781阅||

摘要:取自2017年天梯程序设计的一道题:古风输入

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

输入格式:

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

输出格式:

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

输入样例:
4
This is a test case
输出样例:
asa T
st ih
e tsi
 ce s
程序实现(亲测VS通过)
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
cin >> n;
getchar();
string s;
getline(cin,s);
int l = s.size();
int L = l;
for (int i = L - 1; i >= 0; i--)  //这里是解决输入的最后如果全部都是空元素空格的话
{
    if (s[i] == ' ')
    {
        l--;
    }
       else
    {
        break;
    }
}

while (l%n)
{
    l++;  //这个是最后字符的长度
}

for (int i = L; i < l; i++)
{
    s.push_back(' ');
}

int q = l / n;
int j = n;
int size = n;
for (; j>0; j--)
{
    int p = l-1;
    for (int i = 0; i < l/size; i++)
    {
        int o = l - n - i*size;
        cout << s[o];
    }
    n--;
    cout << endl;
}
return 0;
}


如有问题,欢迎留言讨论~
顶 3踩 0收藏
文章评论
    发表评论

    个人资料

    • 昵称: 咕噜船长
    • 等级: 中级程序员
    • 积分: 215
    • 代码: 0 个
    • 文章: 4 篇
    • 随想: 0 条
    • 访问: 5 次
    • 关注

    人气代码

      最新提问

        站长推荐