写一个程序分析文本文档(英文文章)中各个词出现的频率并把频率最高的10个词打印出来
2014-03-02 20:26
459 查看
写一个程序分析文本文档(英文文章)中各个词出现的频率并把频率最高的10个词打印出
这个程序主要涉及识别、统计和排序,识别和统计采用结构体、结构体数组 ,排序时冒泡排序法。 由于单词存放用的数组所以会造成空间的浪费,存放单词个数,文章大时,空间可能不足,小时会浪费。冒泡排序法由于比较次数多,效率不会太高。
这个程序主要涉及识别、统计和排序,识别和统计采用结构体、结构体数组 ,排序时冒泡排序法。 由于单词存放用的数组所以会造成空间的浪费,存放单词个数,文章大时,空间可能不足,小时会浪费。冒泡排序法由于比较次数多,效率不会太高。
#include<iostream> #include<fstream> #include<string> using namespace std; struct L{ char a[30]; int n; }; int sum=0; void read(struct L word[]) { ifstream in("text.txt"); in>>noskipws; if(!in) {cout<<"cannot open!"<<endl;return;} char ch,temp[30]; while(in) { int i=0; in>>ch; temp[0]='\0'; while((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||temp[0]=='\0') { if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') { temp[i]=ch; i++; } in>>ch; if(in.eof())break; } temp[i]='\0'; for(i=0;i<sum;i++) { if(!_stricmp(temp,word[i].a)) { word[i].n++;break;} } if(i==sum) { strcpy(word[sum].a,temp); word[sum].n=1; sum++; } } in.close(); } void sort(struct L word[]) { struct L temp; for(int i=0;i<sum-1;i++) for(int j=0;j<sum-1-i;j++) if(word[j].n<word[j+1].n) { strcpy(temp.a,word[j].a); temp.n=word[j].n; strcpy(word[j].a,word[j+1].a); word[j].n=word[j+1].n; strcpy(word[j+1].a,temp.a); word[j+1].n=temp.n; } } void out(struct L word[]) { if(sum>=10) for(int i=0;i<10;i++) { cout<<"单词"<<word[i].a<<"出现"<<word[i].n<<"次\n"; } } int main() { struct L word[10000]; read(word); sort(word); out(word); }
相关文章推荐
- 编写一个程序,分析一个文本文件(英文文章)中各个词出现的频率,并把频率最高的10个词打印出来
- 软件工程设计:分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的10个词打印出来。
- 软件工程个人小程序:分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的10个词打印出来
- 分析一个文本文件(英文文章)中各个词出现的频率,并且把频率最高的10个词打印出来
- 写一个程序,分析一个文本文件中各个词出现的频率,并且把频率最高的10个词打印出来。文本文件大约是30KB~300KB大小
- 写一个程序,分析一个文本文件中各个词出现的频率,并且把频率最高的10个词打印出来。文本文件大约是30KB~300KB大小。
- 写一个程序,分析一个文本文件(英文文章)中各个单词出现的频率,并且把频率最高的10词打印出来
- 分析一个文档(英语文章)中各个词出现的频率,并打印频率最高的前10个。
- 编程实现:分析一个文本文件(英文文章)中各个词出现的频率,并把频率最高的前十个词打印出来
- 写一个程序,分析一个文本文件中各个词出现的频率,并把频率最高的10个词打印出来
- 分析一个文本文件中各个单词出现的频率,把频率最高的10个词打印出来
- 分析一个文本文件中各个单词出现的频率,把频率最高的10个词打印出来
- 分析一个文本文件中各个单词出现的频率,把频率最高的10个词打印出来
- 分析一个英文文章,并找出10个高频词汇打印出来
- 统计一篇英文文章内每个单词出现频率,并返回出现频率最高的前10个单词及其出现次数
- 分析一个文本文件中各个词出现的频率,并把频率最高的十个单词打印出来。
- 统计一个文档中出现频率最多的10个单词(英文文档)
- 用java程序分析一个文本文件中各个词出现的频率,并把频率最高的十个单词打印出来(一般的冠词,虚词除外)
- 一篇文章中求出现频率最高的10个单词(C++实现tanglanting)
- 输入一段英文文本,用程序统计出现频率最高和最低的两个单词;