算法题(2):字符串缩写

算法题(2):字符串缩写

      • 题目
      • C++

题目

定义一个字符串的缩写为:首字符+中间字符数+末字符
如果一个字符串的字符数小于10,就输出原字符串,否则输出该字符串的缩写。

举例:

  • 输入:4、word、localization、internationalization、pneumonoultramicroscopicsilicovolcanoconiosis
  • 输出:word、l12n、i20n、p45s
$ ./a.out 
4
word
localization
internationalization
pneumonoultramicroscopicsilicovolcanoconiosis
word
l12n
i20n
p45s










C++

#include 
#include 
#include 

using namespace std;

string s;
vector<string> vec;

int main( void )
{
    int time = 0;
    cin >> time;

    while( time-- > 0 ) {
        cin >> s;
        if( s.size() >= 10 ) {    /* 缩写 */
            string tmp = s[0] + to_string(s.size()-2) + s[s.size()-1];
            vec.push_back( tmp );
        }
        else {                    /* 原字符串 */
            vec.push_back( s );
        }
    }

    /* 通过迭代器输出结果 */
    for( vector<string>::iterator pos=vec.begin(); pos<vec.end(); ++pos ) {
        cout << *pos << endl;
    }
    
    return 0;
}

你可能感兴趣的:(算法题)