zoukankan      html  css  js  c++  java
  • 字符串入门练习题1 好长好长的字符串 题解

    题目出处:http://codeforces.com/problemset/problem/71/A

    题目描述

    好长好长的字符串是像 "localization" 或者 "internationalization" 这样的字符串,这些字符串包含很多单词,所以你在抄写这些单词的时候很费力。
    我们定义一个字符串为 好长好长的字符串,当且仅当该字符串的长度大于 10。
    我们现在在对单词进行简化,所以所有的好长好长的字符串都需要被简化。
    我们的简化操作如下:对于一个字符串 s ,如果它是好长好长的字符串(长度超过10),那么我们将其转换为三部分的拼接:
    第一部分是 s 的首字母;
    第二部分是 s 中取出首字母和尾字母之后剩下的元素的个数;
    第三部分是 s 的尾字母。
    比如,对于一个字符串 "localization" 来说,它的长度为 12,超过了10,所以它是一个好长好长的字符串。对它进行简化操作后的结果为 "l10n"。
    对 "internationalization" 进行简化后的操作为 "i18n"
    而对 "apple" 进行简化操作后的结果还是它本身 —— "apple" ,因为这个单词中的元素个数没有超过 10。
    现在给你一个若干个单词,你需要一次输出每一个单词简化后的结果。

    输入格式

    输入的第一行包含一个整数 (n(1 le n le 100)),用于表示你需要处理的单词个数。
    接下来的 (n) 行,每行包含一个字符串 s (s 的长度在 1 到 100 之间)。

    输出格式

    输出 (n) 行,每行对应输入中的单词简化后的结果。

    样例输入

    4
    word
    localization
    internationalization
    pneumonoultramicroscopicsilicovolcanoconiosis
    

    样例输出

    word
    l10n
    i18n
    p43s
    

    题目分析

    对于每一个字符串 (s) ,假设它的长度为 (n) , 如果它的长度 (le) 10,我们原样输出;否则,我们只需要输出 (s[0] + (n-2) + s[n-1]) 就可以了。
    使用 char 数组实现的代码如下:

    #include <bits/stdc++.h>
    using namespace std;
    
    char ch[110];
    int n, m;
    
    int main() {
        cin >> n;
        while (n --) {
            cin >> ch; m = strlen(ch);
            if (m <= 10) cout << ch << endl;
            else cout << ch[0] << m - 2 << ch[m-1] << endl;
        }
        return 0;
    }
    

    使用 string 实现的代码如下:

    #include <bits/stdc++.h>
    using namespace std;
    
    string s;
    int n, m;
    
    int main() {
        cin >> n;
        while (n --) {
            cin >> s; m = s.length();
            if (m <= 10) cout << s << endl;
            else cout << s[0] << m - 2 << s[m-1] << endl;
        }
        return 0;
    }
    
  • 相关阅读:
    Dubbo入门微服务框架学习
    CSS学习笔记:溢出文本省略(text-overflow)
    ThreadLocal
    redis事务及乐观锁
    redis的三个特殊数据结构(geospatial、bitmaps、hyperloglogs)
    js日期时间格式化
    SimpleDateFormat 中的yyyy-MM-dd HH:mm:ss.SSS说明
    js中window.location.search的用法和作用。
    MySQL查询表中某个字段的重复数据
    完全卸载Oracle方法(超详细)
  • 原文地址:https://www.cnblogs.com/zifeiynoip/p/11450560.html
Copyright © 2011-2022 走看看