c语言题目集-田队写长单词

田队是一个强迫症晚期的大神,她特别反感长单词,就像 “localization” 和"internationalization" 。

于是睿智的田队想出了一个方法来节约写单词的时间, 如果单词的长度严格大于10个字符,那么她可以用以下方法表示:

写下这个单词的第一个字母与最后一个字母,在它们之间写下除去第一个字母和最后一个字母后该单词包含的字母个数,这个数字是不包含前导零的十进制数字。

举个栗子, “localization” 可以表示为"l10n", “internationalization"可以被表示为"i18n”.
你的任务是通过编写代码实现这样一个转化的过程,太长的单词通过上述方法表示,其他的单词保持不变

Input

第一行包含一个整数n (1 ≤ n ≤ 100). 接下来n行每行包含一个单词. 所有的单词由小写字母组成,单词的长度为1 到100个字符.

Output

输出 n 行. 第 i 行包括第 i 个单词的转化结果.

Examples

Input

4
word
localization
internationalization
pneumonoultramicroscopicsilicovolcanoconiosis

Output

word
l10n
i18n
p43s

#include<stdio.h>
#include<string.h>
int main()
{
    
    
	char a[120];
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
    
    
		scanf("%s",a);
		int len = strlen(a);
		if(len>10){
    
    
			printf("%c%d%c\n",a[0],len-2,a[len-1]);
		}
		else printf("%s\n",a);
	}
 } 

猜你喜欢

转载自blog.csdn.net/weixin_51198300/article/details/113723895