求助VB问题,急,急,急!!!
--------------------编程问答-------------------- 汗,作业题吧用split更简单一些 --------------------编程问答-------------------- 对,用split函数很容易实现。 --------------------编程问答-------------------- 拜托,就是作业题所以才要你们按要求做。不然我也知道用split比较简单 --------------------编程问答-------------------- 汗,悍,憨, 寒, 罕, 憾, 撼, 鼾, 酣。 无瀚 --------------------编程问答-------------------- 四楼那位兄台说的好高深的语言。。。。。。 --------------------编程问答-------------------- 是你老师给你的作业,还是某某教材上的作业?
说实在的,这个功能用子过程来实现并不合理。
并且调用也不方便:必须传入一个字符串变量来‘接收’返回值(也许用“接受”这个词更恰当),且它的值在调用时必须为空串(否则有可能造成结果不正确)。
用函数相对好些:传入一个字符串,返回这个串中最长的单词。调用时也没什么限制。
这是按你的‘要求’写的:
Sub MaxLength(s$, MaxWord$)
Static wSave$, lFlag&
Dim i&, Word$
If (Len(s) = 0) Then
MaxWord = wSave
lFlag = 0: wSave = ""
Exit Sub
End If
i = InStr(1, s, " "): Word = Left$(s, i - 1)
If (Len(Word) > Len(wSave)) Then wSave = Word
Word = Mid$(s, i + 1)
If (lFlag = 0) Then lFlag = 1: Word = Word & " "
MaxLength Word, MaxWord
End Sub
--------------------编程问答-------------------- 杯子毁人不倦 --------------------编程问答--------------------
--------------------编程问答--------------------
Private Sub MaxLength(s, MaxWord)
While s <> ""
i = InStr(s, " ")
If i <> 0 Then
Word = Left(s, i - 1)
s = Mid(s, i + 1)
Else
Word = s
s = ""
End If
If Len(MaxWord) < Len(Word) Then _
MaxWord = Word
Wend
End Sub
未必如此 .......
--------------------编程问答-------------------- 不合理的要求呀,或许出题者另有含义,但是这例子是明显不妥么. --------------------编程问答-------------------- 出题者很明显是要求掌握instr函数和left函数
补充:VB , 多媒体