一般问题

xiaoming889 2003-08-20 10:45:48
1、打开文本文件并统计文件中以空格隔开的单词数目
2、统计文件中特定单词出现的次数
3、在C++中如何判断用户按了回车键
谁会呀?
有源代码最好。
...全文
39 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoming889 2003-08-20
  • 打赏
  • 举报
回复
没有人会呀!
nirvana_li 2003-08-20
  • 打赏
  • 举报
回复
1、打开文本文件并统计文件中以空格隔开的单词数目
你用getspace()函数来取得空格并且忽略空格,然后可以对所得到的单词记数了
2、统计文件中特定单词出现的次数
用字符匹配吧strcmp()这个函数可以
上面两个问题可以参考一下《C程序设计语言》,上面有专门的讲解。
3、在C++中如何判断用户按了回车键
C++中判断回车可以用if(getchar()=='\n')
jack_wq 2003-08-20
  • 打赏
  • 举报
回复
C程序设计语言(第二版)英文版第22页
bm1408 2003-08-20
  • 打赏
  • 举报
回复
唉!
第一题在谭sir的书上有!
这里又成要作业的地方了!
made_in_ 2003-08-20
  • 打赏
  • 举报
回复
hlnpro(错误!死机?晕~~~)代码在文本文件比较小时还是不错的,但当文件很大的情况下,估计就慢的没办法用了。。。
稍微好点的做法是开个buffer,然后从文件中将内容读进buffer,再进行统计,统计完一个buffer以后再从文件中装载下一个buffer,如此循环直到文件结束。
不过这时候考虑的要稍微多点,比如当前buffer和下一个buffer之间有可能出现“断词”,即一个单词被截断分在两个buffer了。对这种情况要在程序中做相应的处理。
lybapple 2003-08-20
  • 打赏
  • 举报
回复
楼上的还不错。
值得参考。
hlnpro 2003-08-20
  • 打赏
  • 举报
回复
(I)我这里有一个统计词数的算法:
假定你已经读取文件,并将内容存入str(string类型)里面了。

int pos=0,prvpos=0;
int count=0;//词数
while((pos=str.find_first_of(' ',pos))!=string::npos){
if (str.substr(prvpos,pos-prvpos)!=' ')
count++; //(1)
prvpos=++pos;
}
if (str.substr(prvpos,pos-prvpos)!=' ')
count++; //(1)


(II)至于你说的统计特殊词,可以把(1)改为:
if(str.substr(prvpos,pos-prvpos)==cmpstr)//cmpstr为你的特殊词
count++;


(III)
判断回车可以用if(getchar()=='\n')。

以上代码没有经过调试,楼主可以参考。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧