把长度超过2的单词进行处理,保留首尾
#include<stdio.h>
#include<string.h>
#include<ctype.h>
char juzi[200];
int main()
{
while(gets(juzi)!=NULL)
{
int j=0,p,q;
while(juzi[j]!='\0')
{
if(!isalpha(juzi[j]))
printf("%c",juzi[j++]);
else
{
p=j+1;
int alpha_cnt=1,first=j,last=j;
while(1)
{
if(isalpha(juzi[p]))
{
if(alpha_cnt==0)
first=p;
else
last=p;
alpha_cnt++;
p++;
}
else
break;
}
if(alpha_cnt<=2)
for(q=j;q<p;q++)
printf("%c",juzi[q]);
else
printf("%c%d%c",juzi[first],last-first-1,juzi[last]);
j=p;
}
}
printf("\n");
}
return 0;
}