求助站外题
查看原帖
求助站外题
1025321
midsummer_zyl楼主2023/8/27 15:45
题目描述
给你一个字符串 s。请你按照单词在 s 中的出现顺序将它们全部竖直返回。 单词应该以字符串列表的形式返回,必要时用空格补位,但输出尾部的空格需要删除(不允许尾随空格)。 每个单词只能放在一列上,每一列中也只能有一个单词。

样例
样例输入 1

HOW ARE YOU
样例输出 1

HAY
ORO
WEU
样例输入 2

TO BE OR NOT TO BE
样例输出 2

TBONTB
OEROOE
   T
数据范围与提示
1 <= s.length <= 200

s 仅含大写英文字母。

题目数据保证两个单词之间只有一个空格。
#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
char ans[N][N];
int main() {
    string s;
    int i = 1, j = 1, m;
    while (cin >> s) {
        for (int k = 0; k < s.size(); k++)
            if (s[k] != ' ' && s[k] != '\n')
                ans[i][j] = s[k], i++;
        j++, m = i, i = 1;
    }
    for (int k = 1; k < m; k++) {
        for (int h = 1; h < j; h++)
            if (ans[k][h] != ' ' && ans[k][h] != '\n')
                cout << ans[k][h];
        cout << endl;
    }
    return 0;
}

大佬求助!!!

2023/8/27 15:45
加载中...