主题:对于如何统计输入数字,大小写等字符各是多少的问题!!!
lgr123
[专家分:0] 发布于 2005-12-22 20:46:00
[em1]:一段文字有n行,没行60个字符。求统计其中的数字,大写字母,小写字母,空格,逗号,句点,和其他的字符各是多少?[em12]希望高手们赐教啊!谢谢了!
回复列表 (共5个回复)
沙发
moz [专家分:37620] 发布于 2005-12-23 00:06:00
你这一段文字是一个文件吗?
不管它什么字符,你喜欢计哪个就计哪个好了。
open "1.txt" for input as #1
do until eof(1)
a$=input$(16383,#1)
for i=1 to len(a$)
select case asc(mid$(a$,i,1))
case 32 : sp=sp+1 '这是空格
case 44 : dh=dh+1 '这是逗号
case 46 : jd=jd+1 '这是句点
case 48 to 57 : sz=sz+1 '这是数字
case 65 to 95 : dm=dm+1 '这是大写字母
case 97 to 122: xm=xm+1 '这是小写字母
case else : qt=qt+1 '这是其他字符
end select
next
loop
close #1
板凳
jyf1987 [专家分:930] 发布于 2005-12-24 23:25:00
统计汉字呢?还有统计词语呢?我觉得统计词语有实际用处可以来分析某人的说话习惯
3 楼
moz [专家分:37620] 发布于 2005-12-25 09:05:00
统计词语可就不那么好办了.
首先应该建立词库(需要计数的词组的数组)
open "1.txt" for input as #1
do until eof(1)
a$=input$(16383,#1)
for i=1 to n '词组数量
k=0
do
k=instr(k,a$,s$(i))
if k>0 then sz(i)=sz(i)+1
loop while k
next
loop
close #
而且还存在一个断接的问题,
如果词组的长度都一样的还好说.
不然的话,还真的要每个词组都扫描一遍文件内容.
4 楼
lgr123 [专家分:0] 发布于 2005-12-26 19:41:00
是输入的字符啊!好麻烦啊!谢谢moz了!
5 楼
jyf1987 [专家分:930] 发布于 2005-12-27 16:01:00
我看词语最长不过4个字吧
可以4个字一组
在4个字里分析,搞个象堆栈那样,如果不到4个字就成为一个词语了,就直接跳到下面去找
我来回复