7-26 单词长度 (15 分)

题目链接

你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。

输入格式:

输入在一行中给出一行文本,以.结束

提示:用scanf("%c",...);来读入一个字符,直到读到.为止。

输出格式:

在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

输入样例:

It's great to see you here.

输出样例:

4 5 2 3 3 4

 

 1 #include<algorithm>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<cstdio>
 5 #include<cmath>
 6 using namespace std;
 7 int main(){
 8     char c;
 9     int c_num,flag;
10     c_num = 0,flag = 0;
11     while(~scanf("%c",&c) && c != '.'){//单词可能前方有空格
12         if(c == ' '){
13             if(flag == 0){
14                 if(c_num != 0){
15                     printf("%d",c_num);
16                     flag = 1;
17                 }
18             }
19             else{
20                 if(c_num != 0){
21                     printf(" %d",c_num);
22                 }
23             }
24             c_num = 0;
25             continue;
26         }
27         else{
28             c_num++;
29         }
30     }
31     if(c_num != 0){
32         if(flag == 0){
33             printf("%d\n",c_num);
34         }
35         else{
36             printf(" %d\n",c_num);
37         }
38     }
39     return 0;
40 }
View Code

 

posted @ 2018-12-03 18:34  永不&言弃  阅读(1014)  评论(0编辑  收藏  举报