回 帖 发 新 帖 刷新版面

主题:字符串问题,求字符串内单词数

我想 输入一字符串,求出其中的单词数(空格分隔,一定有非空格字符)
我写了如下代码,为什么不对呢?
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个回复)

11 楼

麻烦MOZ大哥帮我解释下:
我那程序的想法是这样判断:如果找到了一个字符是空格,并且前一个字符不是空格,那么字数+1,错在哪了啊……你的程序我研究下先,谢谢了。

12 楼

1. 如果找到了一个字符是空格,并且前一个字符不是空格
  应该是:  
  IF MID$(str1$, i, 1) = " " AND MID$(str1$, i - 1, 1) <> " " THEN num = num+1
2. 因为要考虑到假如字符串不是以空格结束的话,会少计一个单词,所以要在原字符串后面添加一下空格。

应该改成这样子:

CLS
INPUT "Please input a string:"; str1$
[color=ff00ff]str1$=str1$+" "[/color]
FOR i = 2 TO LEN(str1$)
    IF MID$(str1$, i, 1) = " " AND MID$(str1$, i - 1, [color=ff00ff]1[/color]) <> " " THEN num = num+1
NEXT i
PRINT "The word is :"; num

13 楼

呵呵,谢谢  末子了,给不成你分了啊,再见。

我来回复

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