7-113 单词长度 (15分)


7-113 单词长度 (15分)
 

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

输入格式:

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

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

输出格式:

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

输入样例:

It's great to see you here.
 

输出样例:

4 5 2 3 3 4

代码解析 重点放在判断当前是在单词内部还是在外部,我用了一个标志变量判断, 当遇到空格时候将inword更改 并把统计的单词数输出出来 注意最后如果你输入的单词当中没有空格或者你最后的单词也没有空格
你会少输出最后一个 需要注意。还有格式最后一个不带空格。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int inword=0,count=0,flag=0;
 5     char page[200],c;
 6     while((c=getchar())!='.')
 7     {
 8         
 9         if(inword&&c==' ')
10             {
11             if(flag)
12             printf(" %d",count);
13             else
14             {
15                 flag=1;
16                 printf("%d",count);
17             }
18             inword=0;
19             count=0;
20             }
21             else
22             {
23               if(!inword&&c!=' ')
24                inword=1,count++;
25               else
26               if(inword&&c!=' ')
27               count++;
28             }        
29     }
30     if(count!=0)
31     {
32             if(flag)
33             printf(" %d",count);
34             else
35             {
36                 flag=1;
37                 printf("%d",count);
38             }    
39     }        
40     return 0;
41 }

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM