C語言統(tǒng)計單詞個數,單詞個數算法
在實際生活中經常會遇到一個問題:寫英語作文時,常常要求滿足一定的字數。在以往,要么我們一個一個地數;要么我們估算一行的單詞數,然后用行數進行估算。
第一種方法太費時,若是長篇大論,那幾乎是不可能統(tǒng)計的;而第二種方法不太準確。這就給我們留下了一個問題:如何又快、又準確地統(tǒng)計一篇英文文章中的單詞數?
算法思想
要解決這個問題,最自然的算法是,讀取文章的所有內容,然后一個單詞一個單詞地統(tǒng)計,然而,我們在這里遇到了一個難題:程序看不懂英文,如何知道什么是一個單詞,什么不是一個單詞呢?似乎在這里遇到了障礙,可是,如果換個角度思考問題,也許會柳暗花明又一村:文章中的單詞都是用空格間隔開的,換句話說,單詞數=空格數+1。
程序不認識單詞,但是程序認識空格。∵@樣,整個問題實際上轉換成了統(tǒng)計文章中的空格數。
有了這樣的問題轉換思路,整個問題就簡單多了?梢韵劝凑者@個思路自己實現,也可以直接看下面的代碼實現。
程序代碼
#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;
} </stdio.h>
調試運行結果
根據程序提示,分別輸入“I love China”和“I love Xichang College”兩個字符串代碼, 程序統(tǒng)計單詞后輸出結果分別如下所示:
輸入一行字符:
I Love China
總共有 3 個單詞
輸入一行字符:
I Love Xichang College
總共有 4 個單詞
總結
本實例展示了如何對字符數組進行操作,類型為字符型的數組稱為字符數組,C 語言中沒有專門的字符串變量,但是有字符數組串常量,所以字符串常量的存儲是通過對字符數組的操作來完成的。
- C語言字符串加密和解密算法
- 在本實例中要求設計一個加密和解密算法。在對一個指定的字符串加密之后,利用解密函數能夠對密文解密,顯示明文信息。
- 03-09 關注:0
- C語言獲取矩陣的最大值及其下標
- 本實例要求使用二維數組將一個 3×4 的矩陣中所有元素的最大值及其下標獲取,通過該程序,掌握二維數組的引用知識。
- 03-09 關注:1
- C語言誰家孩子跑得最慢
- 張、王、李三家各有三個小孩。一天,三家的九個孩子在一起比賽短跑,規(guī)定不分年齡大小,跑第一得 9 分,跑第二得 8 分,依次類推。
- 03-09 關注:1
- C語言狼追兔子問題
- 一只兔子躲進了 10 個環(huán)形分布的洞的某一個,狼在第一個洞沒有找到兔子,就隔一個洞,到第三個洞去找
- 03-09 關注:1
- C語言兔子生兔子問題
- 假設一對兔子的成熟期是一個月,即一個月可長成成兔,那么,如果每對成兔每個月都生一對小兔
- 03-09 關注:1
- C語言矩陣轉置
- 本實例是利用數組解決線性代數中的矩陣轉置問題。
- 03-09 關注:1