71A题目地址
题目解答
1.输入单词
超过10个字母的单词,输出第一个字母+中间个数+最后一个字母
没有超过的,直接输出
2.循环读取输入
在for循环内部,接收用户输入的单词
知识点
1.接收用户输入
int a;
scanf("%d",&a);
2.字符串数组
C语言中没有专门的字符串数组,通过字符数组的方式存放
char arr[100];
3.计算字符串长度
#include<string.h>
int str=strlen(arr);
4.C语言中没有截取字符串的方法,所以使用循环读取用户输入的方式
5.输出字符%c
printf("%c",arr[0]);
整体代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){int n;char arr[100];char a,b;scanf("%d",&n);for(int i=0;i<n;i++){//循环读取用户输入,就可以实现单个数组scanf("%s",&arr);//计算字符串长度int str=strlen(arr);if(str<=10){printf("%s\n",arr);}else if(str>10){printf("%c",arr[0]);printf("%d",str-2);printf("%c\n",arr[str-1]);}}return 0;
}