博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【题目】英文字符进行频率的统计,直方图输出
阅读量:5025 次
发布时间:2019-06-12

本文共 1704 字,大约阅读时间需要 5 分钟。

问题

对指定文件中的英文字符进行频率的统计,不区分大小写(都按照大写统计),忽略非字母。并使用频率直方图的形式显示出来。

 

来源

贴吧吧友提问

 

代码

#include
#include
#include
#include
using namespace std;class LetterCount { private: enum{LETTERS_SUM=26}; //常量:个英文字母有26个 string file_path; //文件路径 int total_letters; //统计到的字母的总个数 int letter_count[LETTERS_SUM]; //保存每个单词的出现次数 double letter_frequence[LETTERS_SUM]; //保存每个单词的出现频率 //不允许使用 LetterCount(const LetterCount& le); //复制函数 LetterCount& operator=(const LetterCount& le); //赋值函数 public: void setFilePath(const char *path){file_path = path;} //设置文件的路径 inline function void analyse(); //统计函数 void showGraph() const; //打印统计图 LetterCount(); LetterCount(const char *path); ~LetterCount(); }; LetterCount::LetterCount():file_path(),total_letters(0){ for(int i=0;i
=r ) { printf(" *"); } else { printf(" "); } printf(" "); } printf("\n"); } printf("%-3d",0); for(char ch='A';ch<='Z';++ch) { printf("----"); } printf("\n");printf("%-3c",' '); for(char ch='A';ch<='Z';++ch) { printf(" %c",ch); } printf("\n");}int main(){ LetterCount lc("G:\\data.txt"); lc.analyse(); lc.showGraph(); return 0;}

 

 

效果

 

转载于:https://www.cnblogs.com/lulipro/p/6246473.html

你可能感兴趣的文章
初步swift语言学习笔记2(可选类型?和隐式可选类型!)
查看>>
Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
查看>>
在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库
查看>>
在Macos下完美解决Adobe Dreamweaver CC 2018 汉化及操作方法
查看>>
【转】 Newtonsoft.Json高级用法
查看>>
CodeBlocks X64 SVN 编译版
查看>>
Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据
查看>>
bug记录_signalr执行$.connnection.testhub结果为空
查看>>
【转】常用的latex宏包
查看>>
[TMS320C674x] 一、GPIO认识
查看>>
酷狗的皮肤文件存放在哪
查看>>
iOS RunLoop简介
查看>>
C++的引用
查看>>
T-SQL查询进阶--深入浅出视图
查看>>
MapKeyboard 键盘按键映射 机械革命S1 Pro-02
查看>>
Android读取url图片保存及文件读取
查看>>
完整ASP.Net Excel导入
查看>>
判断CPU大小端示例代码
查看>>
ARTS打卡第13周
查看>>
循环队列的运用---求K阶斐波那契序列
查看>>