-4

当您键入(A,I,O,U,E)计数字符时我需要一个代码..我写了这个但是它不起作用..请帮助我..对不起我的英语不好

n = Val(InputBox("enter a number"))
For i = 1 To Len(n)
      k = Mid(n, i, 1)
      k = LCase k
     Select Case k
          Case "a""i""o""u""e": t = t + 1

     End Select

Next
Print t
4

2 回答 2

5

val()会将输入值转换为数字,因此将永远不会有任何元音..删除它并更正 case 条件下缺少的逗号:

Dim n As String, t As Long
n = InputBox("enter a number")

For i = 1 To Len(n)
    Select Case LCase$(Mid$(n, i, 1))
        Case "a", "i", "o", "u", "e": t = t + 1
    End Select
Next
Print t
于 2013-05-21T16:41:09.133 回答
3

您正在检查文字 string a"i"o"u"e,这显然不是您的意图。

您可能打算:

n = Val(InputBox("enter a number"))
For i = 1 To Len(n)
     k = Mid(n, i, 1)
     k = LCase k
     Select Case k
          Case "a", "i", "o", "u", "e": t = t + 1
     End Select

Next
Print t

您可以在此处阅读有关Case语句如何工作的信息。

于 2013-05-21T16:41:13.283 回答