首页 > 代码库 > 词频统计程序

词频统计程序

需求分析:

 

    写一个程序对一篇英文文章中每个单词出现的次数进行统计,并按照首字母的顺序进行排列。

 

代码设计:

 

    对每个单词出现的次数进行统计,并按照首字母的顺序进行排列,存储到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;

    所统计的文章如下:

技术分享

    统计结果如下:

技术分享

 

词频统计程序