真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

統(tǒng)計單詞個數(shù)C語言函數(shù) c語言統(tǒng)計個數(shù)的函數(shù)

C語言統(tǒng)計單詞個數(shù),單詞個數(shù)算法

當字符從' '變?yōu)樽帜笗r或其他字符時word從0變?yōu)?,而word從0變?yōu)?時就是一個單詞,所以count+1;當字符由非' '變?yōu)? '時word從1變?yōu)?,準備判斷下一個單詞的出現(xiàn),即等待字符由' '變?yōu)槠渌址某霈F(xiàn)。這樣最后count就是記錄了單詞的個數(shù),其實就是記錄了字符由' '變?yōu)槠渌址拇螖?shù)!

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了華安免費建站歡迎大家使用!

C語言統(tǒng)計英語單詞的個數(shù)

C語言:統(tǒng)計輸入的一行英文句子中的字母及單詞個數(shù),帶注解!

//通過鍵盤輸入一行英文句子,統(tǒng)計其中的英文字母和單詞的數(shù)量,單詞之間用空格分開(標點符號不算單詞);

#includestdio.h?

#includestring.h

#includestdlib.h

main()

{

char string[100];//根據(jù)擬從鍵盤輸入的字串的長度需要適當調(diào)整,要避免輸入的長度超出設(shè)定的范圍。

char c;

int i, num=0,sum=0,word=0; //定義 word 用來指示一個單詞是不是結(jié)束或新單詞是否開始;

printf("請從鍵盤輸入一行需要查詢的英文句子,進行單詞數(shù)量統(tǒng)計:\n\n");

gets(string);?? //從鍵盤獲得輸入的字符串;

//以下統(tǒng)計句子中的英文字符個數(shù);

for(i=0;(c=string[i])!='\0';i++) //for循環(huán)語句,遍歷句子中的每個字符;初始化i=0;若字符c!='\0',即未到達結(jié)束符'\0'的話,執(zhí)行i++;

{

if(('A'=string[i]string[i]='Z')||('a'=string[i]string[i]='z'))

sum++;? //以上為條件句,如果字符在A~Z,a~z 范圍之內(nèi)的話,則執(zhí)行sum++,累加英文字母個數(shù);

}

//以下統(tǒng)計句子中的英文單詞個數(shù);

for(i=0;(c=string[i])!='\0';i++) //for循環(huán)語句,遍歷句子中的每個字符;初始化i=0;若字符c!='\0',即未到達結(jié)束符'\0'的話,執(zhí)行i++;

{????????????????????????????? //'\0'用作字符串的結(jié)束符。它的ASCII數(shù)值是0。

if(c'A'||c'Z'c'a'||c'z')?? //設(shè)定條件:如果字符 c 遇到A~Z和a~z范圍之外其它符號字符的話,包括遇到空格' ';

word=0;????? //上面條件為真時,執(zhí)行這里,置word=0,表示未遇到單詞,或,一個單詞已結(jié)束,同時也意味著要開始遇到下一個新單詞;

else if(word==0)? //當條件(word==0)為真,執(zhí)行下面花括號里面的語句;當word==0時,表示未遇到字母,即未遇到單詞,或上一個單詞已結(jié)束;

{

word=1;?? //那么置word=1,即,表示下一個新單詞開始,

num++;?? //執(zhí)行num++,累加英文單詞的個數(shù);

}

}

printf("\n");

printf("您輸入的這句英文句子中共包含%d個英文字符,%d個英文單詞。\n",sum,num);

}

示例:輸入語句:? Hello ! My friend , how are you ? (注意單詞的前后有空格)

C語言進階:[14]統(tǒng)計單詞個數(shù)

對一段英文文章進行單詞統(tǒng)計,如果剛接觸這樣的問題,感覺比較棘手。要把問題分解開,每一個小問題解決了,然后進行歸并,大問題也就解決了。首先單詞是以字符開始,并且連續(xù)個字符,直到下一個字符不是字符結(jié)束,并且這個字符不能是數(shù)字字符。核心問題就是找出一個單詞。

查找單詞的代碼如下:

首先查詢到第一字符,有可能是單詞,然后連續(xù)查找字符,直到遇到第一個不是字符的字符,并且這個字符在本編程中是空字符和標點符號,還得考慮遇到字符串結(jié)束符\0。在代碼中難得部分是字符串指針的處理即返回的是下一個可能是單詞的查找開始位置。例如

h ?e ?l ?l ?o? 空格??w ?o ?r ?l ? d

0 ?1 ?2 ?3 ?4 ? ?5 ??6 ?7 ?8 ?9 ? 10

第一次查找,i值指向了空格即i=5,傳過來的索引j指向h,即索引為0,那么結(jié)果j應該指向空格即j=5,表達式為j= j+ (i-(e的索引)1 + 1(數(shù)量差一)) = j+ i。主程序代碼是:

主程序主要是調(diào)用單詞查找函數(shù),每次更新索引值,直到字符串查找完畢。

結(jié)果如下:

該程序的缺點是沒有統(tǒng)計單詞的開始和結(jié)束位置。

C語言統(tǒng)計單詞個數(shù)問題!

根據(jù)英語的書寫習慣,在每個單詞前后都會有空格分隔。 所以可以依據(jù)空格來劃分單詞。

不過,由于空格可能存在連續(xù)多個,所以僅統(tǒng)計空格數(shù)是不可以的,需要更復雜一些的算法。

一、算法設(shè)計:

核心思想是通過一個flag,來確定單詞的起始, 每出現(xiàn)一個單詞的起始,則表示存在一個單詞。 這樣統(tǒng)計出現(xiàn)的單詞起始個數(shù),即可獲得單詞總數(shù)。

1、flag初始為1;

2、遍歷字符串。

3、對于每個字符,如果出現(xiàn)非空格字符,且flag為1,則為單詞起始,累加計數(shù)器。同時賦值flag為0。

4、在flag為0情況下,如果出現(xiàn)空格,表示上一個單詞已經(jīng)結(jié)束,設(shè)置flag為1。

5、 遍歷結(jié)束后輸出結(jié)果。

二、參考代碼:

#include?stdio.h

int?func(char?*s)//計算單詞數(shù)函數(shù)

{

int?i,n=0,flag=1;

for(i?=?0;?s[i];?i?++)//遍歷

{

if(flag?==?1)

{

if(s[i]?!=?'?')//單詞起始

{

n++;

flag?=?0;

}

}

else?if(s[i]?==?'?')//上一個單詞結(jié)束。

flag?=?1;

}

return?n;//返回結(jié)果。

}

int?main()

{

char?s[200];

gets(s);//輸入字符串。

printf("%d\n",?func(s));//調(diào)用函數(shù),計算并輸出結(jié)果。

return?0;

}

C語言統(tǒng)計單詞個數(shù)

Q:輸入一串字符串,輸出其中有多少個單詞。?

Eg:Good Wishes?

A:

#include stdio.h#include string.h#define SIZE 20int main()

{ ? ?char str[SIZE]={'\0'}; ? ?int count=0;

printf("plz input the string\n");

gets(str);

puts(str); ? ?int length = strlen(str); ? ?for (int i=0;ilength;i++)

{

if(str[i]!=' ')

{ ? ? ? ? ? ?count++; ? ? ? ? ? ?while(str[i]!=' 'str[i]!='\0')

{

i++;

}

}

}

printf("%d\n",count); ? ?return 0;

}

‘\0’和‘0’的區(qū)別:?

在c語言中,它們都是字符,都用對應的ASCII碼來存儲。例如第一個ASCII碼,0,對應字符為(Null),就是 ‘\0’,即空字符。我們在c語言中判斷一個字符串是否結(jié)束的標志就是看是否遇到‘\0’,如果遇到‘\0’,則表示字符串結(jié)束。字符‘0’和數(shù)字0的區(qū)別:前者是字符常量,后者是整形常量,但是字符常量可以像整數(shù)一樣在程序中參與相關(guān)運算。

擴展資料

字符串所有字符,如果當前字符不為空,單詞數(shù)+1,再嵌套一個while循環(huán),判斷當前單詞是否結(jié)束。

#include stdio.h

#include string.h

int count_words(char* s)

{

int len=strlen(s);

int count,i;

for(i=0;ilen;i++)

{

if(*(s+i)!=' '){ ?// 如果當前代碼不為空

count++; ?//單詞數(shù)+1

while(*(s+i)!=' ' ilen) ?//判斷當前單詞是否結(jié)束

i++;

}

}

return count;

}

int main()

{

char* a="i love you";

printf("%d",count_words(a));

}


標題名稱:統(tǒng)計單詞個數(shù)C語言函數(shù) c語言統(tǒng)計個數(shù)的函數(shù)
路徑分享:http://weahome.cn/article/dogicje.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部