C語言實現求英文句子中最長的單詞

2021-02-19 程序設計及計算機基礎學習空間

 

在一個英文句子中找最長的單詞並統計單詞個數。假設句子中單詞之間以空格分隔,允許連續多個空格,最後以「.」號結束。要求:

(1)輸出所有單詞

(2)找出最長單詞並輸出

(3)求最長單詞的長度

(4)輸出句子中的單詞數

 

【分析】

 

用變量max記錄最長單詞的長度,用變量num統計每個單詞的字符數,用count統計句子中的單詞數,用變量word來判斷是否是單詞的開始,是單詞開始則令word=1,若當前字符是空格或是「.」號,則令word=0,此時單詞結束,判斷統計單詞的長度num是否大於原來最長單詞的長度max,是則令max=num,num再置0,準備統計下一個單詞的長度;若當前字符不是空格或不是「.」號,而前一個字符為空格,即word=0,則表示出現新的單詞,令word=1;若word=1,且當前字符不是空格,或不是「.」,表示在單詞中,則num累加。

 

【參考程序】

 

#include<stdio.h>

#include<string.h>

int main(void)

{

  char str[81],maxs[20],s[20],c;

  int i,j,word=0,num=0,max=0,count=0;

  printf(" Enter the string:");

  gets(str);           /*輸入一行英文短文*/

  i=0;

  while((c=str[i])!='\0')

  {

    if(c==' '||c=='.')        /*單詞結束*/

   {  word=0;

      s[num]='\0';

      if(str[i-1]==' ')   /*考慮多個連續空格*/

      {

           i++;

           continue;

       }

       puts(s);          /*輸出單詞*/

      if(num>max)

         { 

max=num;       /*若超過最大值,將num賦值給max*/

               strcpy(maxs,s);  /*單詞複製到maxs數組中*/

         }

       num=0;   /*num重新初始化為0,統計下一個單詞的長度*/

       if(c=='.') break;

}

      else if(word==0)     /*新的單詞開始*/

         {

count++;

                  word=1;

s[num]=c;

num++;  

}

        else           /*在單詞中*/

         {

s[num]=c;

num++;

         }  

     i++;

  }

   printf("\nmaxword=%s\nmaxlen=%d\n",maxs,max);

   printf("totalword=%d\n",count);

   return 0;

}

【運行結果】

相關焦點

  • 最長的英文單詞是什麼?
    pneumonoultramicroscopicsilicovolcanoconiosis——一種虛構的肺部疾病,由長時間吸入礦石或金屬灰塵(如矽或石英)引起——45個字母點擊以下視頻,了解最長英文單詞你可能不大會在真實語境中碰到這些詞彙,怕是只有在問到英語中最長的單詞有哪些時才會想到它們。
  • 英文中最長單詞,比你的丁丁都還長!
    途中聽說過很多次關於英文中最長單詞的傳說但到底是哪個單詞有多長?從來沒有搞清楚過今天lulu就帶大家一起來搞個清楚英文單詞中 ‍誰最長-臉長的人才可以看- 中文最難文字大家比較有共識西安最有名的食物biangbiang面
  • Excel中如何統計英文句子中的單詞數量
    此時此刻,你是通過什麼方法來統計單詞個數?即需要用「new_text」替換「text」中出現的第N個「old_text」註:第4個參數可以省略。如果省略就表示用「new_text」替換「text」中出現的所有「old_text」-01- 初級案例要求: 需要求出 you can you up這段話中的字符數,空格數,單詞數!
  • 各種語言最長的單詞!你 get到多少呢?
    於是讓人們開始說不同的語言,由於交流不暢,也就沒法造塔了。據統計,現在世界上有五千多種語言,而有文字的只有少數,那麼各種主流語言最長的單詞,你都知道嗎?漢語漢語,當然是我們的字啦!英語作為世界上適用範圍最為廣泛的語言,pneumonoultramicroscopicsilicovolcanoconiosis是最長的英文單詞哦,這個詞語的意思是塵肺病!
  • 最長的英文單詞到底有多「喪心病狂」?!
    據說「肌聯蛋白」的英文學名有189819個字母!文學作品中最長的英文單詞是一道虛構的菜名,由183個字母組成。而主流字典中收錄的最長英文單詞「矽肺病」由45個字母組成,最長非杜撰單詞「假性甲狀旁腺功能減退」包含30個字母……1.
  • 為什麼說「smiles」是最長的英文單詞?這10個英語趣聞你知道嗎?
    最近了解到,在英文中也有一些有意思的地方,這些可能在你看這篇文章之前都不曾知道過。1、「almost」是「幾乎」的意思,在英文中頻繁出現的單詞,你發現了嗎?它是唯一一個按字母表順序排列的單詞。2、「queueing」是「排隊」的意思,也是一個很常見的單詞,但是你知道嗎?它是唯一一個由5個元音字母排在一起的單詞。
  • 先來理解一下C語言的Helloworld程序吧
    相信每一個學過任何程式語言的小夥伴都是從編寫出一個能夠輸出Helloworld的小程序開始的。當你能夠在一個空文本中純手打,寫出一個完整的Helloworld程序,並理解文檔中所有英語單詞、括號的含義之時,你就已經打開了編程之門,踏上了獻祭頭髮獲取力量的道路。廢話少說,我們來介紹一下Helloworld吧!
  • iBS丨世界上最長的英文單詞,讀完要花3.5個小時!你敢嘗試嗎?
    今天我們科普一下英文中那些亮瞎眼的超級
  • 掌握90%的生詞才能看懂英文句子?不背單詞,你也可以!
    而且實際情況是有不少同學即使背了很多單詞,也還是看不懂外刊上的長難句。我們大多數人學了十幾年英語,卻還面臨下面這些囧境:單詞都認識,連在一起的句子卻根本讀不懂。>暴力閱讀通法提升理解力流利看懂外刊,真正精讀英文句子社群保姆式帶領+直播+文章+訓練輕鬆實現360°全方位精讀外刊5天暴漲英語水平!
  • 【C語言程序設計】C語言統計單詞個數,單詞個數算法
    在實際生活中經常會遇到一個問題:寫英語作文時,常常要求滿足一定的字數。
  • 9012年新思路:不背單詞也能看懂90%英文句子!
    拿到一個句子,驚喜地發現很多單詞都認識,但連在一起是什麼意思?做一篇閱讀,貌似看懂了文章,卻始終理解不了作者究竟想表達什麼,最終選錯了答案。還有的同學苦學英語很久,一開口說話卻只能一個詞一個詞往外蹦,根本連不成完整的句子。
  • 你知道最長的英文單詞是什麼嗎?
    你知道英語中最長的單詞是怎麼來的嗎?你知道單詞「Goodbye」的由來是什麼嗎?你知道「tips」的本意是什麼嗎?
  • 最長的英語單詞
    曾泰元  我在東吳大學英文系開授一門本科生的「英語詞源學」,從詞源的視角切入,系統性地介紹拉丁文的詞根及其派生的英語單詞
  • 世界上最長的英文單詞長啥樣?
    Joseph Yang說最長的詞的答案是微笑(smiles),因為兩個s中間有著一英裡(mile)的距離。以這個方式推算的話,圍攻(beleaguered)這個詞應該更長, 因為對稱的be和ed之間有一個league(一裡格~三英裡)。找最長的英文單詞和評比「最長」或者「見過的最長」的(意會)一樣:真的沒什麼意義。因為你見到了,真的有機會用嗎?
  • 【C語言】02.第一個C語言程序
    從上圖可以看出:函數就是用來實現某個功能的程序段,每一個函數都有自己的功能。因此,你應該把實現某個功能所需的代碼都寫在函數中。比如,有個函數的功能是播放MP3,那麼播放MP3的代碼都應該寫到這個函數中。當調用(執行)一個函數時,計算機就會按順序執行函數中的所有代碼,從而展示函數所實現的功能。一般來說,我們會將不同的功能交給不同的函數去實現。比如,將暫停播放MP3的代碼寫到一個函數中,將停止播放MP3的代碼寫到另一個函數中。
  • 雙語閱讀:最長的英文單詞有多「喪心病狂」?
    文學作品中的最長單詞出自阿里斯多芬尼斯於公元前391年發表的劇作《女議員》。這個希臘單詞有171個字母,翻譯成英語單詞後變為183個字母。這個冗長而拗口的單詞指的是一道虛構的大燉菜,包含了腐爛的狗鯊頭、隆頭魚、斑尾林鴿以及烤小??頭和其他烹飪食物。3.
  • 世界上最長的英文單詞與筆畫最多的漢字大PK,究竟誰會更勝一籌?
    英語單詞說起來簡單,它只是由26個字母組合而成,但真正學起來也沒那麼容易。英語單詞總數遠比漢語要多得多,它總共包含約49萬詞,外加技術名詞約30萬個,是詞彙最多的語言。那麼我們的漢字呢?漢字數量足足比英文單詞要少70萬個,儘管如此,近乎10萬的數量仍然很龐大,不過,大家不必擔心,這9萬漢字中只有三千個是常用漢字。據統計,1000個常用字能覆蓋約92%的書面資料,2000字可覆蓋98%以上,3000字就已到99%了。
  • 如何在考試中寫出走心又有調調的英文句子
    於是,借著四六級考試逼近,考研考試也逼近的東風,自己再就句子寫作略談幾點,希望對各位能略有啟發。平時我們寫作先想到漢語,再翻譯成英文,這本身沒什麼大問題,如下。E.g. 1. 手機讓我們溝通更便捷。Translation:a.
  • 單片機C語言實現求平方根算法
    C語言中要求平方根,可以在頭文件中加入#include <math.h>.然後調用sqrt(n);函數即可。但在單片機中調用此函數無疑會耗費大量資源和時間,是極不合適的。在[0, n/2+1]這個範圍內可以進行二分搜索,求出n的平方根。
  • 世界上最長的英語單詞
    網傳世界上最長的英文單詞:189819個字母,讀完需要三小時  相信大家經常看到關於不少世界上最長的的英文單詞文章,大多都是說世界上最長的的英文單詞有