题解 | #Hello World for U#

Hello World for U

https://www.nowcoder.com/practice/c6e414fddd7c401887c350c9cc41f01b

#include<iostream>
#include<cstdio>

using namespace std;
//抄的,看了大概的思路

int main() {
    char str[81];
    while (scanf("%s", str) != EOF) {
        char maxtrix[80][80];
        for (int i = 0; i < 80; i++) {
            for (int j = 0; j < 80; j++) {
                maxtrix[i][j] = ' ';          //初始化一个80x80的矩阵用空格填充
            }
        }

        int n = 0, k = 0, n1, n2;
        while (str[n] != '\0') {            //统计字符串长度
            n++;
        }
        for (int i = 0; i < (n + 2) / 3; i++) { //先填左边竖列
            maxtrix[i][0] = str[k++];
            n1 = i;
        }
        for (int j = 1; j < (n + 2) / 3 + (n + 2) % 3; j++) { //填下方横线
            maxtrix[n1][j] = str[k++];
            n2 = j;
        }
        for (int t = n1 - 1; t >= 0; t--) {  //填右边竖线
            maxtrix[t][n2] = str[k++];
        }

        for (int i = 0; i < n1 + 1; i++) {  //输出
            for (int j = 0; j < n2 + 1; j++) {
                printf("%c", maxtrix[i][j]);
            }
            printf("\n");
        }

    }
    return 0;
}

全部评论

相关推荐

求求要我吧:你教育经历放在下面干什么,而且27届还是28届啊()另外看你简历有两面,通常来说投递运营岗位一面简历就够了。另外个人总结要写也放在简历最下面,然后你奖项那里是2019年的哇哈哈,那你究竟投递的是社招还是实习?实习的话你是第几届是肯定要写出来的,社招的话你这个工作经历又太短太花了
点赞 评论 收藏
分享
牛至超人:我将凌晨两点给你打电话
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务