回 帖 发 新 帖 刷新版面

主题:对于如何统计输入数字,大小写等字符各是多少的问题!!!

[em1]:一段文字有n行,没行60个字符。求统计其中的数字,大写字母,小写字母,空格,逗号,句点,和其他的字符各是多少?[em12]希望高手们赐教啊!谢谢了!

回复列表 (共5个回复)

沙发

你这一段文字是一个文件吗?
不管它什么字符,你喜欢计哪个就计哪个好了。

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

板凳

统计汉字呢?还有统计词语呢?我觉得统计词语有实际用处可以来分析某人的说话习惯

3 楼

统计词语可就不那么好办了.
首先应该建立词库(需要计数的词组的数组)
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 楼

是输入的字符啊!好麻烦啊!谢谢moz了!

5 楼

我看词语最长不过4个字吧
可以4个字一组
在4个字里分析,搞个象堆栈那样,如果不到4个字就成为一个词语了,就直接跳到下面去找

我来回复

您尚未登录,请登录后再回复。点此登录或注册