先说答案:
接下来我们来逐行分析:
1.前面3行分别为导入万能库、命名空间和开始主函数(标志着程序的开头)
2.然后先输入题目所输入的字符串(string s; cin >> s)分号前面代表创造一个字符串,后者则代表输入
3.因为我们要一直循环直到这个字符串长度<10(对应原题 |s| ≤ 10 所以使用条件循环while(s.size() > 10)
4.接下来按照题目要求处理当前字符串:首字母 + (中间字母个数)+ 末字母( s = (s[0]) + (to_string(s.size() - 2)) + s[s.size() - 1])这行其中s[0]代表当前字符串的首字母,to_string为一个函数,可以将数字转换成字符串, (to_string(s.size() - 2))就指中间字母个数,s[s.size() - 1];,其中s,size()指s的长度,这句话的意思是就是s的未字符