码迷,mamicode.com
首页 > 其他好文 > 详细

单词长度

时间:2020-04-19 12:36:36      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:不能   格式   clu   ext   count   时间   har   str   连续   

题目内容:

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

 

输入格式:

输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。

 

输出格式:

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

 

输入样例:

It‘s great to see you here.

 

输出样例:

4 5 2 3 3 4

时间限制:500ms内存限制:32000kb
 1 #include <stdio.h>
 2 
 3 int main(void)
 4 {
 5     char s[100], *p;
 6     int i, start, end, count;
 7 
 8     gets(s);
 9     p = s;
10     while (*p != .)
11     {
12         p++;
13     }
14     *++p = \0;    //在.后面加上字符串结束符
15 
16     p = s;
17     i = 0;
18     start = end = -1;   //start单词开始索引,end单词结束索引,初始化-1
19     count = 0;
20     while (*p != \0)
21     {
22         if (*p !=   && start == -1)
23         {
24             start = i;
25         }
26         if ((*p ==   || *p == .) && start != -1)
27         {
28             end = i - 1;
29         }
30         if (start != -1 && end != -1)   //找到开始索引和结束索引后
31         {
32             if (count == 0)
33             {
34                 printf("%d", end - start + 1);
35             }
36             else
37             {
38                 printf(" %d", end - start + 1);
39             }
40             start = end = -1;
41             count++;
42         }
43         i++;
44         p++;
45     }
46     printf("\n");
47 
48     return 0;
49 }

 

单词长度

标签:不能   格式   clu   ext   count   时间   har   str   连续   

原文地址:https://www.cnblogs.com/2018jason/p/12730784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!