⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例7.8.txt

📁 C语言程序设计的第二版源码
💻 TXT
字号:
    例7.8    输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
    程序如下:
     #include <Stdio.h>
     main()
     {
       char string[81];
       int i,num=0,word=0;
       char c;
       getS(String);
       for (i=0;(c=String[i])!='\0';i++)
       if(c=='') word=0;
       else if(word==0)
        {
         word=1;
         num++;
        }
        printf("There are %d wordS in the line.\n",num);
       }
    运行情况如下:
I am a boy.
There are 4 wordS in the line.
程序中变量i作为循环变量,num用来统计单词个数,word作为判别是否单词的标志,若word=0表示未出现单词,如出现单词word就置成1。算法见图7.17所示。


解题的思路是这样的:单词的数目可以由空格出现的次数决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)。如果测出某一个字符为非空格,而它的前面的字符是空格,则表示“新的单词开始了” ,此时使num(单词数)累加1。如果当前字符为非空格而其前面的字符也是非空格,则意味着仍然是原来那个单词的继续,num不应再累加1。前面一个字符是否空格可以从word的值看出来,若word=0,则表示前一个字符是空格;如果word=1,意味着前一个字符为非空格。可以用图7.18表示。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -