一个学旅游的同学问我有关VB的问题,去年挂了,今年补考呢,5道题,我只学过C,VB基本不懂,希望会的人能将完整的代码写上。先谢谢了!1,求M和N的最小公倍数
2,编程求3-100之间素数之和
3,输入一个百分制成绩,输出相应的五分制成绩,设90分以上为A,80-89分为B,70-79为C,60-69分为D,60分以下为E
4,求1!+2!+……+n!
5,编程在窗体上显示以下图案
A
AB
ABC
ABCD

解决方案 »

  1.   

    3,输入一个百分制成绩,输出相应的五分制成绩,设90分以上为A,80-89分为B,70-79为C,60-69分为D,60分以下为E下面是代码,但我事先声明:
    1、代码运算结果绝对准确。
    2、用这个代码回答问题绝对0分。
    3、凡是看懂这个答案的老师绝对会气死。
    4、造成上述一切不良后果我绝对不负责。Dim V As Long     '百分制成绩
    Dim S As String   '五分制成绩
      
    S = Chr(74 - (((V > 99) And 9) + ((V > 59 And V < 100) And (V \ 10)) + ((V < 60) And 5)))下面是程序运算结果:
    0:E 1:E 2:E 3:E 4:E 5:E 6:E 7:E 8:E 9:E
    10:E 11:E 12:E 13:E 14:E 15:E 16:E 17:E 18:E 19:E
    20:E 21:E 22:E 23:E 24:E 25:E 26:E 27:E 28:E 29:E
    30:E 31:E 32:E 33:E 34:E 35:E 36:E 37:E 38:E 39:E
    40:E 41:E 42:E 43:E 44:E 45:E 46:E 47:E 48:E 49:E
    50:E 51:E 52:E 53:E 54:E 55:E 56:E 57:E 58:E 59:E
    60:D 61:D 62:D 63:D 64:D 65:D 66:D 67:D 68:D 69:D
    70:C 71:C 72:C 73:C 74:C 75:C 76:C 77:C 78:C 79:C
    80:B 81:B 82:B 83:B 84:B 85:B 86:B 87:B 88:B 89:B
    90:A 91:A 92:A 93:A 94:A 95:A 96:A 97:A 98:A 99:A 100:A 
      

  2.   

    又给简化了一下:S = Chr(74 - (((V > 59) And ((V - 1) \ 10)) + ((V < 60) And 5)))下面是演示程序:Private Sub Form_Load()
      Dim I As Long
      Dim E As Boolean
      Dim L() As Byte
      Dim Ls As String
      ReDim L(3)
      Text1.Text = ""
      For I = 0 To 100
        E = CBool(I Mod 10)
        L(0) = (E And 32) + ((Not E) And 13)
        L(2) = (E And 32) + ((Not E) And 10)
        Ls = L()
        Text1.Text = Text1.Text & I & "=" & F(I) & Ls
      Next
    End SubFunction F(ByVal V As Long) As String
      Dim S() As Byte
      ReDim S(1)
      S(0) = 74 - (((V > 59) And ((V - 1) \ 10)) + ((V < 60) And 5))
      F = S()
    End Function
      

  3.   

    传说中的 KiteGirl(小仙妹) 果然强悍
    佩服佩服
      

  4.   

    更正:上面的简化函数有点问题,还是采用原来的函数。下面是正确的,外加一个新方法:Private Sub Form_Load()
      Dim I As Long
      Dim E As Boolean
      Dim L() As Byte
      Dim Ls As String
      ReDim L(3)
      Text1.Text = ""
      Text2.Text = ""
      For I = 0 To 100
        E = CBool(I Mod 10)
        L(0) = (E And 32) + ((Not E) And 13)
        L(2) = (E And 32) + ((Not E) And 10)
        Ls = L()
        Text1.Text = Text1.Text & I & "=" & F(I) & Ls
        Text2.Text = Text2.Text & I & "=" & F2(I) & Ls
      Next
    End SubFunction F(ByVal V As Long) As String
      '逻辑算法
      Dim S() As Byte
      ReDim S(1)
      S(0) = 74 - (((V > 99) And 9) + ((V > 59 And V < 100) And (V \ 10)) + ((V < 60) And 5))
      F = S()
    End FunctionFunction F2(ByVal V As Long, Optional ByVal Ts As String = "EEEEEEDCBAA") As String
      '查表算法
      Dim T() As Byte
      Dim S() As Byte
      ReDim S(1)
      T() = StrConv(Ts, vbFromUnicode)
      S(0) = T(V \ 10)
      F2 = S()
    End Function
      

  5.   

    判断V的奇偶,S返回结果。当初气坏老师的一个程序。Dim V As Long
    Dim S As StringS = Chr((CBool(V Mod 2) And (Asc("奇") - Asc("偶"))) + Asc("偶")) & "数"