距离上次写统计考研单词已经过了好几个月了吧,我真的太懒了。。。。。。。。。。但是好饭不怕晚,趁着今晚摸了电脑我就写完了。。。。。。本次主要粗略统计了2004-2015年的考研英语单词代码,真实性不详(但还是挺可靠的)。。。。。(偷偷告诉你们lz有好多单词不认识,好慌啊。。。。。。)
废话少说,上代码
#include<iostream>
#include<fstream>
#include<string>
#include<map>
#include<cstdlib>
using namespace std;
int vertify(string c)//去除符号,中文等字符
{
int flag = 0;
for (int i = 0; i<c.length(); i++)
{
if (c[i]<65 || c[i]<90 && c[i]>97 || c[i]>122)
{
flag = 1;
break;
}
}
return flag;
}
string cmp(string a)
{
string temp;
for (int i = 0; i < a.length(); i++)
{
if (a[i] >= 65)
temp += a[i];
}
return temp;
}
int main()
{
string str,temp;
ifstream infile;
ofstream outfile;
map<string, int>WordCount;
map<string, int>::iterator iter;
infile.open("in.txt");
outfile.open("out.txt");
if (!infile)
{
//cerr << "error:unable to open input file:";
//<< infile << endl;
return -1;
}
while (infile >> str)
{
string temp1,temp2;
int flag = 0;
flag = vertify(str);
if (flag == 1)
continue;
for (int i = 0; i < str.length(); i++)//大写全部换成小写
{
if (str[i] >= 65 && str[i] <= 90)
str[i] = str[i] + 32;
}
WordCount[str]++;
}
for (iter = WordCount.begin(); iter != WordCount.end(); iter++)
{
cout << iter->first << ";" << WordCount[iter->first] << endl;
outfile << iter->first << ";" << WordCount[iter->first] << endl;
}
infile.close();
outfile.close();
system("pause");
return 0;
}
这个代码有个缺点就是不能连续读取,我不得不承认,我还是懒。。。。所以将文件都放到同一个文件夹里了,方便读取。。。。有空再改改(虽然不知道下次想到它是啥时候。。。。。。。)
统计完成的单词文件放下我的百度网盘里了,不要再问我准不准,免费的东西你还要啥自行车啊。。。。。。
链接:https://pan.baidu.com/s/1WOOKTSRykIqQUz7cRhZRlQ
提取码:jyzc
最后祝看到这篇文章的你们考研成功,我就随缘吧。。。。。。。心情不好今天,走了。。。。。。