C 求單詞個數???求??C語言求單詞的個數

時間 2023-04-14 00:10:03

1樓:網友

//標頭檔案。

#ifndef _cstr_h_

#define _cstr_h_

#include

using namespace std;

class cstr

#endif

//=cpp檔案===

#include ""

#include

cstr::cstr()

cstr::~cstr()

return nstart;

//=測試函式===

#include ""

#include ""

#include

#include

using namespace std;

int main()

cstr temp;

string str(" i am a boy");

int num = 0;

num = str);

cout<<"單次個數為:"<

c語言求單詞的個數

2樓:滿旭亓官智敏

錯誤比較多,一一羅列一下:

1、判斷相等用==,fun函式用if(flag=1)這句就用錯了。

2、for迴圈不加括號,值包含了第一個if判斷的內容,而第二個if(s[i]==

')這個就會在迴圈結束之後判斷。

3、迴圈中使用迴圈條件使用*s!='0',這個s指標一直指向字串的首地址,*s一直是首地址的值,所以會使的其變為死迴圈,修改為s[i]!=0'

4、判斷是否為一個單詞不能只用s[i]==

'來判斷,如果兩個單詞直接有多個空格的話,就會多判斷出單詞數,所以修改為s[i]==

'&&flag==0

5、最後一個單詞後面沒有空格的話,該程式會將最後一個單詞漏掉,所以迴圈結束之後需要再判斷flag是否為0,為0則說明有一個單詞沒有統計上,加上。

6、**書寫規範就不說了。

c語言單詞個數

3樓:她去過的地方

問題1:?

你是想這樣:

從空格 i 處, 往後依次尋找, 找到第一個不是空格的 j ,找到則count++

但實際效果是:

若 j 處不為空格,繼續; 若 j 處為空格,結束for迴圈。

由於 j = i; 所以for迴圈開始時 str[j] =所以會結束迴圈,所以count一直為0,word也永遠不會++,這就是原因所在。

問題2就算上面的**你改ok了,但是還有一個問題你沒注意。

從空格 i 處, 找到不是空格的 j 了,ok,但是下一個 i,居然是i++,請問按你這種演算法,那 "are---ok\0"(用符號"-"代替空格),豈不是第一個單詞被計數三次了?

所以下一個i, 應該先 i = j, 再 i++

改法:(當然也有其他改法, 末尾判斷字串結尾處可能還有問題)

#include ""

int main()

if(count >=1)

printf("個數%d",word);

return 0;

4樓:匿名使用者

標頭檔案缺少。

在最上面添上:#include ""

就不報錯了。

5樓:匿名使用者

加個標頭檔案,然後用strlen(str);直接求長度吧。

c語言統計單詞個數,C語言統計單詞個數問題!

說祺阿雅唱 include stdio.h main printf d n num 史朝東樂安 include include intmain printf 單詞個數為 d n number return0 include include int main while a i a a i a a i...

c語言,不同單詞個數統計。基礎語句

這個用c 中 map關聯容器很容易,每讀入一個單詞是,就執行一個map過程,最後ap中鍵值的個數就是你要輸入的數字即單詞的個數。用c語言寫的話,就是把這些單詞儲存在字串陣列中,對字元陣列遍歷一遍。就可以了 字串輸入然後直接與記憶體比對嘛。把單詞記錄到另一個陣列。重複的單詞不記錄。然後統計陣列的單詞個...

求c語言題目,求C語言題目

c語言經典100題 程式1 題目 有1,2,3,4個數字,能組成多少個互不相同且無重複數字的三位數 都是多少 1.程式分析 可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去 掉不滿足條件的排列.2.程式源 main 程式2 題目 企業發放的獎金根據利潤提成.利潤 i 低於或等於1...