首页 > 代码库 > 词频统计程序
词频统计程序
需求分析:
写一个程序对一篇英文文章中每个单词出现的次数进行统计,并按照首字母的顺序进行排列。
代码设计:
对每个单词出现的次数进行统计,并按照首字母的顺序进行排列,存储到map中。
fp=fopen(str,"r"); map<string,int>list; while(fgets(text,1000,fp)!=NULL) { while(text[i]!=‘\0‘) { char s[40]; int k=0; while((text[i]>=‘A‘&&text[i]<=‘Z‘)||(text[i]>=‘a‘&&text[i]<=‘z‘)) { if(text[i]>=‘A‘&&text[i]<=‘Z‘) text[i]+=‘a‘-‘A‘; s[k++]=text[i++]; } s[k]=‘\0‘; list[s]++; if(text[i]==‘\0‘)break; else i++; } } fclose(fp);
对map中每个单词按照首字母的顺序显示出现的次数。
map<string,int>::iterator m; cout<<"每个词出现的频数如下:"<<endl; for(m=++list.begin(),i=1;m!=list.end();i++,m++) { cout<<left; cout<<setw(15)<<m->first<<setw(10)<<m->second; if(i%5==0) cout<<endl; } cout<<endl;
所统计的文章如下:
统计结果如下:
词频统计程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。