【C語言程序設計】C語言統計單詞個數,單詞個數算法


在實際生活中經常會遇到一個問題:寫英語作文時,常常要求滿足一定的字數。在以往,要么我們一個一個地數;要么我們估算一行的單詞數,然后用行數進行估算。

第一種方法太費時,若是長篇大論,那幾乎是不可能統計的;而第二種方法不太准確。這就給我們留下了一個問題:如何又快、又准確地統計一篇英文文章中的單詞數?

 

算法思想

要解決這個問題,最自然的算法是,讀取文章的所有內容,然后一個單詞一個單詞地統計,然而,我們在這里遇到了一個難題:程序看不懂英文,如何知道什么是一個單詞,什么不是一個單詞呢?似乎在這里遇到了障礙,可是,如果換個角度思考問題,也許會柳暗花明又一村:文章中的單詞都是用空格間隔開的,換句話說,單詞數=空格數+1。

程序不認識單詞,但是程序認識空格啊!這樣,整個問題實際上轉換成了統計文章中的空格數。

有了這樣的問題轉換思路,整個問題就簡單多了。可以先按照這個思路自己實現,也可以直接看下面的代碼實現。

 

程序代碼

#include <stdio.h>

int main()

{

    printf("輸入一行字符:\n");

    char ch;

    int i,count=0,word=0;

    while((ch=getchar())!='\n')

        if(ch==' ')

            word=0;

        else if(word==0)

        {

            word=1;

            count++;

        }

    printf("總共有 %d 個單詞\n",count);

    return 0;

}

 

調試運行結果

根據程序提示,分別輸入“I love China”和“I love Xichang College”兩個字符串代碼, 程序統計單詞后輸出結果分別如下所示:

輸入一行字符:

I Love China

總共有 3 個單詞

輸入一行字符:

I Love Peking University

總共有 4 個單詞

 

總結

本實例展示了如何對字符數組進行操作,類型為字符型的數組稱為字符數組,C 語言中沒有專門的字符串變量,但是有字符數組串常量,所以字符串常量的存儲是通過對字符數組的操作來完成的。


 

最后,不管你是轉行也好,初學也罷,進階也可,如果你想學編程~

【值得關注】我的 C/C++編程學習交流俱樂部【點擊進入】

問題答疑,學習交流,技術探討,還有超多編程資源大全,零基礎的視頻也超棒~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM