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...