统计单词数

从一个txt文件里读出英文,统计里面的单词数,出现最多的单词出现了多少次,如果多个一样的话,找字典序最大的。

倒着找map容器,找到比最大的还大的替换最大的,先找到的一定是字典序大的,其余出现次数相等的但是字典序小的就不参与替换。

#include
#include
#include
#include
#include
using namespace std;
char str[3001];
int main()
{
    int i=0,j,len;
    mapm;
    memset(str,0,sizeof(str));
    string ch;
    ch="A";
    m.clear();
    m[ch]++;
    ch.clear();

    FILE *fp;
    fp=fopen("zz.txt","r");
    if(fp==NULL)
    {
        printf("Cann't open!\n");
    }
    fgets(str,3000,fp);
    len=strlen(str);
    str[len]=' ';


    for(i=0; i<=len; i++)
    {
        if(str[i]>='A'&&str[i]<='Z')
        str[i]+=32;
        if((str[i]>='a'&&str[i]<='z'))
        {
            ch+=str[i];
        }
        else if(ch!="")
        {
            m[ch]++;
            ch.clear();
        }
    }


    map::iterator it;
    int maxm=0;
    string maxn;
    it=m.end();
    it--;
    for(; it!=m.begin(); it--)
    {
        if(maxmsecond)
        {
            maxn=it->first;
            maxm=it->second;
        }
    }
    cout<


你可能感兴趣的:(统计单词数)