L1-039 古风排版 (20 分)

 

 首先创建一个二维数组,
然后将输入的字符串按从左到右的顺序依次从二维数组的倒数第一列开始装入,装满装第二列,以此类推....

复制代码
#include <iostream>
#include <cstring>
using namespace std;
const int N = 1010;
char g[N][N];
int n;

int main()
{
    int r, c, k = 0;
    cin >> n;
    string s;
    getchar();
    getline(cin, s);
    int leng = s.size();
    r = n;
    if(leng % n == 0) c = leng / n;
    else c = leng / n + 1;
    
    for(int i = 0; i < n; i++)
        g[i][0] = ' ';
    for(int j = c - 1; j >= 0; j--)
        for(int i = 0; i < r; i++)
        {
            g[i][j] = s[k++];
            if(k==leng) break;
        }
    
    for(int i = 0; i < r; i++)
    {
        for(int j = 0; j < c; j++)
            cout << g[i][j];
        if(i != r - 1) cout << endl;
    }
    return 0;
}
复制代码

 

posted @   飘向远方丶  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示