请大家帮忙用c语言编程,解决一下下面的题目。谢谢啦~ 尽量详细点

单词统计 统计某篇英文小说中某些单词的出现次数。英文小说存储在一个文本文件中。要求在程序运行时才输入文本文件名和要统计的词汇。

第1个回答  2013-06-25

大体思路:

    将要统计的词汇存入字符串数组中;

    对于文本文件,一行一行进行读取;对每一行利用split函数根据空格进行分割,分割后的结果存于字符串数组中,对改行进行词汇统计(两层for循环);

    注:一个单词遇到行末分开写需要加判断。(若行末和下一行的开头没有空格,将其连起来进行判断,是否为所要统计的词汇)。

望有帮助!

追问

嗯,谢谢了,直是你对着你个菜鸟讲什么大道理,肯定是不懂得。还是不知道所以然,希望能够看到具体的程序,这样或许可以好点儿。

追答

不好意思,俺不会汇编!!!

第2个回答  2013-06-27
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>
using namespace std;

string make_plural(int cnt,string word, string ending)
{
return (cnt>1)?(word+ending):word;
}

int main()
{
string fileName,s;
vector<string> svec;
cout<<"enter filename:"<<endl;
cin>>fileName;
ifstream inFile(fileName.c_str());
if(!inFile)
{
cerr<<"error :can't open input file:"<<fileName<<endl;
return -1;
}
else
{
while(inFile>>s)
svec.push_back(s);
inFile.close();
inFile.clear();
}
cout<<"enter word that u want to count:"<<endl;
while(cin>>s)
{
vector<string>::size_type cnt=count(svec.begin(),svec.end(),s);
cout<<s<<" appears "<<cnt<<make_plural(cnt," time","s")<<endl;
}

return 0;
}
随便写了会,分数拿来。追问

这是c吧!!
我们要求的是汇编语言啊~~单片机要用的,不知道c,单片机认识不?

追答

呵呵,你说用c编程,又说要汇编。汇编要一条指令一条指令的写,我都忘了好多了,没时间弄了。

本回答被提问者采纳
相似回答