统计英文文章中单词个数 种类

优质
小牛编辑
112浏览
2023-12-01
#include<fstream>  //ifstream
#include<iostream>
#include<map>
#include<string>
#include<iterator>
using namespace std;

int main(void)
{
    ifstream in("C://Users//11405//Desktop//text.txt");
    string line;
    map<string,int> m;
    string word;
    int count=0;//单词总数
    if(in)
    {
        while(getline(in,line))
        {
            cout<<line<<endl;
            line+=" ";
          for(int i=0;i<line.size();i++)
          {
              if(line[i]==' ')
              {
                 if(m.find(word)!=m.end())
                 {
                     m[word]++;
                 }
                 else
                 {
                     m[word]=1;
                 }
                 count++;
                 word="";
              }

              else
              {
                  word+=line[i];
              }
          }
        }
    }

    else
    {
        cout<<"no such file!"<<endl;
    }
    cout<<count<<endl;

        cout<<m.size()<<endl;

        map<string,int> ::iterator iter=m.begin();
        for(iter;iter!=m.end();iter++)
        {
            cout<<iter->first<<" "<<iter->second<<endl;
        }

    return 0;
}