1樓:會飛的小兔子
#include
usingnamespacestd;
intmain(){
chara;ints=1;
scanf("%c",&a);
while(a!='.')
if(a==''||a==',')s++;
scanf("%c",&a);
cout 擴充套件資料c語言統計檔案中的字元數、單詞數注意事項 1、空白字元(空格和tab縮排)不計入字元總數; 2、單詞以空格為分隔; 3、不考慮一個單詞在兩行的情況; 4、限制每行的字元數不能超過1000。 5、每次從檔案中讀取一行,放到緩衝區buffer,然後遍歷緩衝區,統計當前行的字元和單詞數。fgets()函式用於從檔案中讀取一行或指定個數的字元。 2樓:繩嫣宛冰雙 #include "stdio.h" main() printf("there are%d words inthe line. \n", num); }不知道我有沒有說清楚,我自己看程式的時候就是這樣自己按程式走幾次,一般都能懂,希望對你有幫助··· 3樓:鹿洲舒寄南 這樣做演算法是對的!就是程式不完善. #include void main() printf("there are%d words inthe line.\n",num); 這樣就行了你可以試試``~注意一下if(c==' ')裡面的空格. 4樓:話說四川 #include "stdio.h" main() else s=1; }printf("共有單詞 : %d 個 \n",sum);} 5樓:匿名使用者 提供一個思路。 首先你需要判斷什麼樣的情況屬於單詞。 1.兩個空格之間的不間斷的字母可以看做一個單詞。 2.這個字母可以任意長。(只要比句子短就可以)如果想省事的話,可以設定3個指標: phead pword 首先這2個指標都指向句子的首部。 1.遇到第一個空格,且空格後為字母,phead停住,指向這個空格。然後pword繼續走。 2.如果pword一直都是遇到字母,則當它的下一個字元為空格或者結束符時,單詞數目加1.同時,phead等於pword,繼續尋找下邊的字串。 這樣一直迴圈到字串結束。 6樓:匿名使用者 #include using namespace std; bool isletter(); void getch(); char c[1000], ch;int index=0; int main() while(isletter()); }}while(index='a'&&ch<='z')||(ch>='a'&&ch<='z')) return true; return false;} 7樓:希聲和寡 #include #include void despace(char *s,int *i)int main() i++; } count++; printf("\ncount:%d",count); getch(); return 1;} c語言輸入一行字元 統計其中有多少個單詞,單詞之間用空格分隔開 8樓:凌亂心扉 #include<stdio.h> int main() {intword,num=0; char ch; while((ch=getchar())!='\n'){if(ch=='') word=0; else {if(word==0) {num++; word=1;}} }printf("%d",num); return0;}分析 若當前字元=空格 yesﻩ未出現新單詞,使word=0,num不累加noﻩ前一字元為空格(word=0),新單詞出現,使num加1,word=1 前一字元為非空格(word=1),未出現新單詞,num不加1*/其它方法: #include<stdio.h> int main() {char string[81]; int i,num=0,word=0; char c; gets(string); for(i=0;((c=string[i])!='\0');i++)if(c=='')word=0; elseif(word==0) {word=1; num++; }printf("thereare%dwordsinthisline.\n",num); return0;} 9樓:箕精義友槐 #include "stdio.h" main() printf("there are%d words inthe line. \n", num); }不知道我有沒有說清楚,我自己看 程式的時候就是這樣自己按程式走幾次,一般都能懂,希望對你有幫助··· 10樓:文化廚子 #include int main() printf("there are %d words in the line.\n",num); return 0;} 11樓:驀然回首時 你弄的太亂,我整理了一下: #include main() printf("there are %d words in the line. \n" ,num); }你說的這句 if(c==' ') word=0; else if(word==0) 當c=空格時,令word=0;不執行else if語句 直到c!=空格時(注意連續多個空格的處理),不執行if語句,執行else if語句 由於前面令word=0,所以到空格後第一非空格字元時,word是=0的,else if判斷成功, 執行word=1; num++;,第二個非空格字元時,word就=1了,就不執行word=1; num++;了 這樣一個單詞num就加一次 由於初始時令word=0,故第一單詞的第一個字母時,num就等於1了 好了,就說這麼多,不懂再問我 12樓: 這為朋友,很少在電腦上調程式吧,這段程式中有一些值得注意的錯誤。首先,標準輸入輸出標頭檔案是#include,第 二、陣列string後是中括號,應該是string[81],第三,string和string是不同的,c語言區分大小寫,最後一個問題,程式設計時所有符號一律用英文輸入,這個雖然是小問題,但一開始就應養成良好的習慣。 下面是我改好的程式: #include main() printf("there are %d words in the line.\n",num); }好了,言歸正傳。這段程式有個值得注意的問題,for迴圈沒有大括號,意味著它包含一個if-else語句,if語句中是c=' '表示一個單詞的結束,然後用word標記,word=0時表示有一個完整的單詞。當讀入到下一個字母時,表示又有一個新的單詞,所以if(word==0)時,num++,同時將word取消標記準備下一次標記。 比如說: 輸入i am a boy. i讀入:因為word==0 所以num=1,word=1 讀入一個空格:word=0 說明第一個單詞讀入完畢 a讀入:因為word==0 所以num=2,word=1 說明有第二個單詞 m讀入:word=1 說明第二個單詞未讀完 讀入一個空格 word=0 說明第二個單詞讀入完畢 a讀入 因為word=0 說明有第三個單詞 所以 num=3,word=1 以此類推,得到結果為4 13樓:匿名使用者 首先要知道c中選擇控制語句if--else語句的配對,c語言規定else與其前面最近的一個沒有配對的if成對。這題中很顯然第一個if與下面的else配對。第一個if語句意思是說: 如果c中的值是‘空格’則將0值給word,下面緊跟著一個else,如果c中的值不是空格,就執行第二個if。第二個if意思是說如果word中的值是哦,就把1給word,然後對num加一。 理解上面的關係你就很容易理解這裡面變數word的含義了。其實word這個變數僅僅是一個單詞輸入完的一個標誌。當輸入一個單詞,輸入空格時,程式中word等於0,接著執行else,直接轉入執行第二個if,此時判斷word是不是等於0,如果等於零說明c中的值是空格,及一個單詞已經輸入完,此時就對word置一,為下次判斷做準備,然後對num加一。 如果再輸入一個新的單詞,當沒有輸完時,及c中的值不是空格,此時第一個if不執行,執行else,接著又執行第二個if。但此時word的值是1,因此第二個if也不執行,即num不會加一。 體會一下吧,希望對你有所幫助。 14樓:詩葉子 #include "stdio.h" main() else s=1; }printf("共有單詞 : %d 個 \n",sum);} 15樓:浪漫雪兒 呵呵,好好看看書在來問吧!學習認真點,不過那位老兄你說那麼多人家看了都煩,你直接給正確答案不就行了嘛。 c語言:輸入一行字元,統計出其中單詞的個數,個單詞之間用空格分隔,空格數可以是多個。 輸入案例1 16樓:it孤鶩 #include int main() printf("%d\n",count); return 0;} 17樓: /*統計一個字串 單複詞的個數,單制 詞間以一bai到多個空格分du隔。*/ #include main() printf("此字串的dao單詞有%d個\n",s);} 四捨 入 include int main char s 200 int i,zm 0,sz 0,qt 0 for i 0 s i i if s i a s i z s i a s i z zm else if s i 0 s i 9 sz else qt return 0 風刮走了雲 這個在譚浩強... 竹葉蘭之夏 include int main 所有數字相加 for i 0 i 10 i printf 所有數字和為 d n total return 0 老兵馬俑 include stdafx.h include ctype.h include string.h int main int argc... 問明 include int main char c int letters 0,spaces 0,digits 0,others 0 printf 請輸入一串任意的字元 n while c getchar n if c a c z c a c z letters else if c 0 c 9 d...c語言輸入一行字串統計字母數字和其它符號
c語言大神解答由鍵盤輸入一行字元將其中每
輸入一行字元,分別統計出其中的英文字母,空格,數字和其它字元的個數