字符串的处理,如果看过c primer plus的可能记得有一个判断单词数的,可以基于那个进行处理
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main(void)
{
int count, flag;
char ch[5000];
while (gets(ch)) {
flag = count = 0;
for (int i = 0; i < strlen(ch); i++) {
if (isalpha(ch[i]) && !flag) { //判断单词开始,每次单词开始进入
printf("%c", ch[i]);
flag = 1;
} else if (isalpha(ch[i]) && flag) { //从第二个单词开始
if (strlen(ch) > i+1 && isalpha(ch[i+1])) { //如果未结束且下一个也是字母计数
count++;
} else {
if (count) //如果计数大于0
printf("%d", count);
count = flag = 0;
printf("%c", ch[i]);
}
} else { //其他字符正常输出
printf("%c", ch[i]);
flag = 0;
}
}
putchar('\n');
}
return 0;
}