色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何用C語言實現讀取句子然后計算單詞個數,當遇到Stop單詞時停止讀取且Stop不計算在單詞個數里?

錢淋西2年前15瀏覽0評論

要使用C語言來計算單詞數量其實方法也非常簡單,我就簡單的說一下原理吧。

以下面這個句子為例:

"Wewon't,Mother,"saidGruffoandMuffo."We'lltakegoodcareofDido."

我們能夠發現,一個英語的句子除了標點符號外,每個單詞之間都是有空格的,除了'這個標點符號。而針對'這個符號,我們會出現兩種情況,一種是won't和we'll認為是一個單詞;另一種是won't認為是willnot,we'll認為是wewill,也就是兩個單詞。

這里,我們先默認使用第一種,也就是won't是一個單詞。這樣的話,先去掉除了'以外的所有標點符號,包括,.!?":()等等。

C語言我也不是很熟,去掉字符串中指定字符的代碼我就隨便貼了一個:

#include<stdio.h>

#include<string.h>

voiddeletechar(chara[],charc)
{
inti,j;
for(i=0,j=0;*(a+i)!='\0';i++)
{
if(*(a+i)==c)
continue;
else
{
*(a+j)=*(a+i);
j++;
}
}
*(a+j)='\0';
}

intmain()
{
chara[100],c;
scanf("%s%c",a,&c);
deletechar(a,c);
printf("%s",a);
return0;
}

OK,去掉這些標點以后,上面的那個句子就會變成這樣。

Wewon'tMothersaidGruffoandMuffoWe'lltakegoodcareofDido

這個時候,我們就通過空格,把字符串變成一個個單詞組成的數組。這時候就簡單了,遍歷這個數組,如果單詞不是Stop,那么單詞的數量就+1,如果是Stop,那么就停止并且返回當前以及累加的單詞數。

使用特定字符分割字符串的代碼我就不去貼了,也不難,隨便百度一下就能找到。

那么假設我們需要考慮'符號,也就是說,won't是兩個單詞,我們怎么辦呢?

其實也簡單,就是我們在遍歷單詞的時候去判斷一下這個單詞里面是不是有'符號,如果有,就+2,如果沒有就+1。

當然,在英文的文章里面可能不一定全部如此簡單,可能還有-符號的存在。而-其實是一種連接符,并沒有任何意義,是可以去掉的,因此可以在最初刪除字符的時候一并刪除了。

大概的思路就是這樣了,希望對你有點用處。