vb 程序设计

作者&投稿:通腾 (若有异议请与网页底部的电邮联系)

新建标准EXE,然后来两个文本框,一个按钮,文本框拉高一点,如图所示,再把它的MultiLine属性设置为True,把下面的代码复制过去就ok了

Private Sub Command1_Click()

    If Text1.Text = "" Then

        MsgBox "请输入10组数字!"

        Exit Sub

    End If

    Dim Temp

    Temp = Split(Text1.Text, vbCrLf)

    If UBound(Temp) < 9 Then

        MsgBox "你输入的不够10组"

        Exit Sub

    End If

    Dim xiao, da, j, k

    xiao = Temp(0)

    da = Temp(0)

    For i = 0 To 9

        If CInt(Temp(i)) < CInt(xiao) Then

            xiao = Temp(i)

            j = i

        End If

        If CInt(Temp(i)) > CInt(da) Then

            da = Temp(i)

            k = i

        End If

    Next

    Temp(k) = Temp(0)

    Temp(0) = da

    Temp(j) = Temp(9)

    Temp(9) = xiao

    Text2.Text = ""

    For i = 0 To 9

        Text2.Text = Text2.Text & Temp(i) & vbCrLf

    Next

End Sub

Private Sub Form_Load()

    Text1.Text = ""

    Text2.Text = ""

End Sub



1.设置两个下标变量K1,K2表示最大值域最小值元素的下标
2. 初态:若a[0]>a[9],则k1=0;k2=9;否则k1=1,k2=0;
3.循环:扫描数组余下的元素

max=a[0](若a[0]>a[9])若大于a[0]就赋值给max,切k1=i;输出i;a[i]与a[0]交换
min=a[9](若a[0]>a[9])若小于a[0]就赋值给min,切k2=j;a[j]与a[9]交换

'兄弟0分也太难为情了吧

Option Explicit

Private dx(1 To 10) As Double

Private Sub Command1_Click()
Dim i As Integer, s As String
Dim dt As Double
Command1.Enabled = False
For i = 1 To 10
InputIt:
s = InputBox("请输入第" & CStr(i) & "个数:", , CStr(i))
If IsNumeric(s) Then
dx(i) = CDbl(s)
Else
MsgBox s & " 不是有效的数值,请输入数值!", vbCritical
GoTo InputIt
End If
Next i
Me.AutoRedraw = True
Me.Print "------------------"
For i = 1 To 10
If dx(i) > dx(1) Then
dt = dx(1)
dx(1) = dx(i)
dx(i) = dt
End If
If dx(i) < dx(10) Then
dt = dx(10)
dx(10) = dx(i)
dx(i) = dt
End If
Next i
For i = 1 To 10
Me.Print CStr(dx(i))
Next i
Me.Print "------------------"
Me.Print "最大值为:" & CStr(dx(1))
Me.Print "最小值为:" & CStr(dx(10))
Command1.Enabled = True
End Sub

sub chang(x(0 to 9) as double)
dim i as integer
dim tem as double
dim bigi as integer'记录最大数的索引
dim smalli as integer‘记录最小数的索引
bigi=0
smalli=0
for i=0 to 8
if x(bigi)<x(i+1) then
bigi=i+1
end if
if x(smalli)> x(i+1) then
smalli=i+1
end if
next i
temp=x(0)
x(0)=x(bigi)
x(bigi)=temp
temp=x(9)
x(9)=x(smalli)
x(smalli)=temp)
end sub

VB程序设计~

Dim a, b, c, d, e, f, g, h, i As Integer

Private Sub rmbCound(ByVal rmb As Double)
a = Int(rmb / 100)
b = Int((rmb - a * 100) / 50)
c = Int((rmb - a * 100 - b * 50) / 10)
d = Int((rmb - a * 100 - b * 50 - c * 10) / 5)
e = Int((rmb - a * 100 - b * 50 - c * 10 - d * 5) / 1)
f = Int((rmb - a * 100 - b * 50 - c * 10 - d * 5 - e * 1) / 0.5)
g = Int((rmb - a * 100 - b * 50 - c * 10 - d * 5 - e * 1 - f * 0.5) / 0.1)
h = Int((rmb - a * 100 - b * 50 - c * 10 - d * 5 - e * 1 - f * 0.5 - g * 0.1) / 0.05)
i = (rmb - a * 100 - b * 50 - c * 10 - d * 5 - e * 1 - f * 0.5 - g * 0.1 - h * 0.05) / 0.01
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 And IsNumeric(Text1.Text) Then
Call rmbCound(Val(Text1.Text))
Print "100元[" & a & "]张 " & _
"50元[" & b & "]张 " & _
"10元[" & c & "]张 " & _
"5元[" & d & "]张 " & _
"1元[" & e & "]张 " & _
"5角[" & f & "]张 " & _
"1角[" & g & "]张 " & _
"5分[" & h & "]张 " & _
"1分[" & i & "]张 "

End If
End Sub

这里主要考察的是 Sin 和 Cos 这两个函数的应用,假设文本框名称为 Text1,要显示结果的标签儿名称为 Label1,那么求正弦值的关键代码为:
Label1.Caption = CStr(Sin(Text1.Text))求余弦值的关键代码为:
Label1.Caption = CStr(Cos(Text1.Text))
完整代码需要再加 If 判断语句、CommandButton_Click() 事件等,把这些组织起来就是一个小程序了。