#include<iostream>
#include<fstream>
#include<map>
#include<algorithm>
#include <iomanip>
#include <stdlib.h>
using namespace std;
int main()
{
//关联容器,定义了一个用char作为索引,并拥有相关联的指向int的指针.
map<char ,int>d;
ifstream ifs( "h1.txt"); //ifs是 ifstream类的一个对象,打开文件
char c;
while(ifs>>c) //以流的方式读取数据
{
if(isalpha(c)) //判断是否是字母
{
char word=tolower(c); //tolower为把大写转化成小写的函数
d[word]++; //map作为关联式数组,重要的统计数量部分
}
}
int size=0; //定义总数
//定义map子类iterator迭代器的一个对象it
for(map< char,int >::iterator it=d.begin(); it!=d.end(); ++it)
size+=it->second;
for(map <char,int>:: iterator it=d.begin(); it!=d.end(); ++it)
{
//输出结果,it->first代表字母,it->second代表数量
cout<<it->first<< "="<<it->second<<"\t" <<"frequence is: "
<<setw(10)<<setprecision(3)<<(( float)it->second/size)<<endl; //setprecision设置精度,setw表初始化指令
}
system( "pause");
}