PTA 7-26 单词长度 (15分)
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.
结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's
算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.
不计算在内。
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int main() 5 { 6 char str[1000]; 7 gets(str); ///输入字符串 8 int len = strlen(str); ///len记下字符串的长度,不包括'\0' 9 int sp = 0; ///sp记录空格的个数 10 int ch = 0; ///ch记录新字符的个数 11 for(int i = 0; i < len-1 ; ++i) 12 { 13 if(str[i] != ' ') ///如果不是空格 14 { 15 if(ch && sp) ///如果空格数和字符数都未清零 16 { 17 printf("%d ", ch); 18 ch = 0; 19 } 20 ++ch; 21 sp = 0; 22 } 23 else 24 { 25 ++sp; ///如果是空格,sp加1 26 } 27 } 28 if(ch) ///若还有字符的个数未输出 29 { 30 printf("%d", ch); 31 } 32 return 0; 33 }
题目来源:https://pintia.cn/problem-sets/14/problems/806