c实现统计字符中单词的个数,单词之间用空格分隔开。

今日网上训练遇到一题,有意义,故记之。

题目:输入一行字符,统计字符中单词的个数,单词之间用空格分隔开。

解题思路:<1>若测出某一个字符为非空格,且它前一个字符是空格,则表示“新单词开始”。设一初值为0的num变量,新单词开始则num累加1。

     <2>判断前一字符是否为空格?设一个变量表示即可。

代码如下:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int main()
 4 {
 5     char string[81];
 6     int i, num = 0, word = 0;
 7     char c;
 8     gets(string);//输入一个字符串放在字符数组string中
 9     for (i = 0; (c = string[i]) != '\0'; i++)
10     {
11         if (c == ' ')//如果是当前字符是空格字符,使word置0
12         {
13             word = 0;
14         }
15         else if (word == 0)//如果不是空格字符,且前一字符是空格
16         {
17             word = 1;
18             num++;
19         }
20     }
21     printf("num=%d\n", num);
22     system("pause");
23     return 0;
24 }

结果:

posted @ 2017-09-11 17:24  盖盖chen  阅读(2037)  评论(0编辑  收藏  举报