主题:字符串问题,求字符串内单词数
阿木Lee
[专家分:80] 发布于 2009-01-03 10:49:00
我想 输入一字符串,求出其中的单词数(空格分隔,一定有非空格字符)
我写了如下代码,为什么不对呢?
CLS
INPUT "Please input a string:"; str1$
FOR i = 2 TO LEN(str1$)
IF MID$(str1$, i, 1) = " " AND MID$(str1$, i - 1, i) <> " " THEN num = num+1
NEXT i
PRINT "The word is :"; num
大哥们,咋回事?
回复列表 (共13个回复)
沙发
qb追求者 [专家分:210] 发布于 2009-01-03 15:45:00
本人是在是看不出你有什么错,做的很好啊~~
板凳
wutongbaobao [专家分:140] 发布于 2009-01-20 23:03:00
cls
input str$
i=1
do while instr(str$,i," ")<> 0
if instr(str$,i," ") >0 then
m=m+1
i=instr(str$,i," ")+1
end if
wend
print m
end
不知道对不对啊
3 楼
wjl8719 [专家分:190] 发布于 2009-01-21 23:10:00
回LZ
字浮串常量不能以空格开头,结束,所以你的代码只能计算出str1$中间的空格数,你只要在此基础上加1就OK了
4 楼
wutongbaobao [专家分:140] 发布于 2009-01-22 09:38:00
楼上那位,有几个空格,不就有几个英文单词吗
5 楼
wjl8719 [专家分:190] 发布于 2009-01-23 00:02:00
楼上的,
我写的清清楚楚的:字浮串前头和结尾的不算在内,那么你还觉得空格数等于单词数
Thank you!
中间几个空格? 1个
几个单词? 1+1=2,不对么?
6 楼
wutongbaobao [专家分:140] 发布于 2009-01-23 10:03:00
也许吧[em18]
7 楼
阿木Lee [专家分:80] 发布于 2009-02-02 16:19:00
还是有问题,不是简单加几就能得出正确结果的,你把程序跑一遍试试,还是有问题。
8 楼
阿木Lee [专家分:80] 发布于 2009-02-21 18:32:00
这个解释有问题啊,真的,你们谁也别乱猜,自己用QB或VB运行下,不费什么时间的,这样算根本不准啊。
9 楼
moz [专家分:37620] 发布于 2009-02-22 09:23:00
CLS
INPUT "Please input a string:"; str1$
[color=ff00ff]num=1
str1$=ltrim$(rtrim$(str1$))[/color]
FOR i = 2 TO LEN(str1$)-1
IF MID$(str1$, i, 1) = " " AND MID$(str1$,[color=ff00ff] i + 1, 1[/color]) <> " " THEN num = num+1
NEXT i
PRINT "The word is :"; num
10 楼
moz [专家分:37620] 发布于 2009-02-22 09:26:00
INPUT "Please input a string:"; str1$
str1$=ltrim$(rtrim$(str1$))
do until str1$=""
num=num+1
str1$=ltrim$(mid$(str1$,instr(str1$," ")))
loop
PRINT "The word is :"; num
我来回复