当前位置:编程学习 > VB >>

求助VB问题,急,急,急!!!

--------------------编程问答-------------------- 汗,作业题吧
用split更简单一些 --------------------编程问答-------------------- 对,用split函数很容易实现。 --------------------编程问答--------------------
引用 1 楼 zzyong00 的回复:
汗,作业题吧
用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
--------------------编程问答--------------------
引用 7 楼 slowgrace 的回复:
杯子毁人不倦

未必如此 .......
--------------------编程问答-------------------- 不合理的要求呀,或许出题者另有含义,但是这例子是明显不妥么. --------------------编程问答-------------------- 出题者很明显是要求掌握instr函数和left函数
补充:VB ,  多媒体
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,