#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int n; scanf("%d", &n); char** a = (char**)malloc(n * sizeof(char*));//malloc实现开辟二维数组 for (int i = 0; i < n; i++) { a[i] = (char*)malloc(100 * sizeof(char)); scanf("%s",a[i]); } for (int i = 0; i < n; i++) { int length = strlen(a[i]); if (length >= 10) printf("%c%d%c\n", a[i][0], length - 2,a[i][length - 1]); else printf("%s\n", a[i]); } free(a); return 0; }