PTA 詞頻統計

2021-07-28 06:21:44 字數 1296 閱讀 2893

請編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10%的單詞。

所謂「單詞」,是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的「單詞字元」為大小寫字母、數字和下劃線,其它字元均認為是單詞分隔符。

輸入給出一段非空文字,最後以符號#結尾。輸入保證存在至少10個不同的單詞。

在第一行中輸出文字中所有不同單詞的個數。注意「單詞」不區分英文大小寫,例如「pat」和「pat」被認為是同乙個單詞。

隨後按照詞頻遞減的順序,按照詞頻:單詞的格式輸出詞頻最大的前10%的單詞。若有並列,則按遞增字典序輸出。

this is a test.

the word "this" is the word with the highest frequency.

longlonglonglongword should be cut off, so is considered as the same as longlonglonglonee. but this_8 is different than this, and this, and this...#

this line should be ignored.

23

5:this

4:is

解題思路:用map來統計單詞出現的次數,vector來儲存出現過的單詞

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#define ll long long

const int inf=0x3f3f3f3f;

mapmp;

char ch[20],s[100];

vectorx;

bool cmp(string p,string q)

else if(s[i]>='a'&&s[i]<='z')

else if(s[i]>='0'&&s[i]<='9')

else}}

if(k>0)

if(s[len-1]=='#') break;

}printf("%d\n",x.size());

int cnt=x.size()/10;

sort(x.begin(),x.end(),cmp);

for(int i=0;i

PTA 詞頻統計 stl

7 11 詞頻統計 25 分 請編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10 的單詞。所謂 單詞 是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的 單詞字元 為大小寫字母 數字和下劃線,其它字元均認為是單詞分隔符。輸入...

Python程式設計PTA題解 詞頻統計

description 編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10 的單詞。所謂 單詞 是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的 單詞字元 為大小寫字母 數字和下劃線,其它字元均認為是單詞分隔符。input ...

PTA 7 14詞頻統計 30分

題目 請編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10 的單詞。所謂 單詞 是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的 單詞字元 為大小寫字母 數字和下劃線,其它字元均認為是單詞分隔符。輸入格式 輸入給出一段非空文...