这麽理解:单词的个数
=
空格的个数+1,
连续的空格按1个算,如果有其他的逻辑则还需要进行处理,比如,.“的判断等等。
思路是:
循环读取文件直至为空,每次读取1024个字节到字符串数组filestr中
flag
=
false;
--
--
false表示上一次读取到的字符不为单词的字母,用于屏蔽连续空格的干扰
num
=
0;
--
空格的个数
for(i
=
0;
i
<
1000
;
++i)
{
if
(
filestr[i]
==
'
'
&&
flag)
{
num++;
flag
=
false;
}
else
flag
=
true;
}
cout<
评论
0
0
加载更多
我虽然现在写不出程序,但是我知道原理。
首先你需要知道,你是在统计英文单词。所以,你只需知道英文字母的ASCLL码值,这个容易查到。
它分为2段。一段大写,一段小写。
在执行if条件语句时,只需写好读取到的字符是否在这个范围内。
如果在,利用num=num+1统计数目。每遇到一个,i就会自动加1。
例如
if(("_"(里面是字符)<="_"(里面是英文字母的ASCLL码值)&&("_">="_")(内容和上面类似))
num=num+1;
else
continue;
大概就是这种程序。