高山 发表于 2022-9-25 19:59:48

[C++板块提升计划]size省略字符程序(回复可见)

本帖最后由 高山 于 2022-9-25 20:27 编辑

程序描述:
你在本程序输入一个英文字符(符号也算)(最长长度99),只要字符长度>10,那么程序就会输出头和尾,中间写出省略的字符数
演示视频在评论区
效果展示:

代码演示:
**** Hidden Message *****
彩色版RTF代码:
**** Hidden Message *****
成品及源码附件:
**** Hidden Message *****


高山 发表于 2022-9-25 20:14:00

演示视频请戳我

元豪 发表于 2022-9-25 20:08:48

学习{:5_108:}

zhangjinxuan 发表于 2022-9-25 20:23:44

看看

zhangjinxuan 发表于 2022-9-25 20:27:41

#include <cstdio>
#include <cstring>
using namespace std;

void solve() {
        char str;
        scanf("%s", str);
        int len = strlen(str);
        if (len <= 10)
                printf("%s\n", str);
        else
                printf("%c ---Omit %d characters--- %c", str, len - 2, str);
}

int main() {
        int q;
        scanf("%d", &q);
        while (q--)
                solve();
}

高山 发表于 2022-9-25 20:28:46

zhangjinxuan 发表于 2022-9-25 20:27


你敲代码的速度有点快……
比我想象的小学生速度快

zhangjinxuan 发表于 2022-9-25 20:30:20

你在本程序输入一个英文字符串(符号也算)(最长长度99),只要字符串长度>10,那么程序就会输出头和尾的字符,中间写出省略的字符数

希望细心一点

zhangjinxuan 发表于 2022-9-25 20:31:15

高山 发表于 2022-9-25 20:28
你敲代码的速度有点快……
比我想象的小学生速度快

4分钟敲代码....[凡尔赛警告]

我觉得挺慢的...{:5_109:}

人造人 发表于 2022-9-25 20:57:00

#include <iostream>
#include <string>
#include <sstream>
#include <regex>

using std::cin, std::cout, std::endl;
using std::string, std::stringstream;
using std::regex, std::regex_replace;

const string replace(const string &s) {
    if(s.size() <= 10) return s;
    regex pattern(R"((.).*(.)$)");
    stringstream ss;
    ss << "$1 ...中间有" << s.size() - 2 << "个字符... $2";
    return regex_replace(s, pattern, ss.str());
}

int main() {
    string str;
    cin >> str;
    cout << replace(str) << endl;
    return 0;
}

hornwong 发表于 2022-9-26 00:03:04

{:5_108:}

zhangjinxuan 发表于 2022-9-27 19:46:31

人造人 发表于 2022-9-25 20:57


STL人....看不懂....

人造人 发表于 2022-9-27 20:18:17

zhangjinxuan 发表于 2022-9-27 19:46
STL人....看不懂....

这不是stl

人造人 发表于 2022-9-27 21:11:12

zhangjinxuan 发表于 2022-9-27 19:46
STL人....看不懂....

就是用正则表达式进行字符串替换

zhangjinxuan 发表于 2022-9-27 21:20:26

人造人 发表于 2022-9-27 21:11
就是用正则表达式进行字符串替换

学一学

高山 发表于 2022-10-1 12:01:18

人造人 发表于 2022-9-25 20:57


学习!
页: [1]
查看完整版本: [C++板块提升计划]size省略字符程序(回复可见)