第一题
'建立一个text1,
Dim R As Single
Dim S(8) As Integer
Private Sub Form_Load()
Form1.AutoRedraw = True
Text1.Text = 578.62
Form1.Width = 11000
Text1.Top = 1000
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 46, 48 To 57
Case 13
If Text1.Text = "" Then Exit Sub
R = Format(Val(Text1.Text), "0.00")
Call Zh(R)
Print "一百元", "五十元", "十元", "五元", "一元", "五角", "一角", "五分", "一分"
For I = 0 To 8
Print S(I),
Next
Case Else
KeyAscii = ""
End Select
End Sub
Function Zh(ByVal I As Single)
I = I * 100
S(0) = I \ 10000
I = I Mod 10000
S(1) = I \ 5000
I = I Mod 5000
S(2) = I \ 1000
I = I Mod 1000
S(3) = I \ 500
I = I Mod 500
S(4) = I \ 100
I = I Mod 100
S(5) = I \ 50
I = I Mod 50
S(6) = I \ 10
I = I Mod 10
S(7) = I \ 5
S(8) = I Mod 5
End Function
第三题
'建立七个command1-7
Option Explicit
Dim Str As String
Dim S() As Single, S1() As Single, Min As Single, Max As Single
Dim N As Integer, I As Integer, K As Integer
Dim Shu As Boolean
Private Sub Command1_Click()
Cls
Str = InputBox("数组元素个数", "输入", 10)
If Str = "" Then Exit Sub
If Val(Str) < 1 Then Exit Sub
N = Int(Val(Str)) - 1
ReDim S(N)
Call Sjsz
For I = 0 To N
Print S(I);
If I Mod 10 = 9 Then Print
Next
Print
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
End Sub
Private Sub Command2_Click()
Cls
Str = InputBox("数组元素个数", "输入", 10)
If Str = "" Then Exit Sub
If Val(Str) < 1 Then Exit Sub
N = Int(Val(Str)) - 1
ReDim S(N)
For I = 0 To N
S(I) = Srsz(I + 1)
Print S(I);
If I Mod 10 = 9 Then Print
Next
Print
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Command6.Enabled = True
End Sub
Private Sub Command3_Click()
ReDim S1(N)
For I = 0 To N
S1(I) = S(I)
Next
N = N + 1
ReDim S(N)
For I = 0 To N - 1
S(I) = S1(I)
Next
S(N) = Srsz(N + 1)
For I = 0 To N
Print S(I);
If I Mod 10 = 9 Then Print
Next
Print
End Sub
Private Sub Command4_Click() '3)在数组中第k个元素前插入一个元素;
Str = InputBox("在第几个元素前插入?(" & 1 & "-" & N + 1 & ")", "输入", N)
If Str = "" Then Exit Sub
K = Int(Val(Str))
If K < 1 Or K > N + 1 Then Exit Sub
ReDim S1(N)
For I = 0 To N
S1(I) = S(I)
Next
N = N + 1
ReDim S(N)
S(K - 1) = Srsz(K)
For I = 0 To N
If I < K - 1 Then
S(I) = S1(I)
ElseIf I > K - 1 Then
S(I) = S1(I - 1)
End If
Next
For I = 0 To N
Print S(I);
If I Mod 10 = 9 Then Print
Next
Print
End Sub
Private Sub Command5_Click() '4)删除数组中的第k个元素;
Str = InputBox("删除第几个元素?(" & 1 & "-" & N + 1 & ")", "输入", N)
If Str = "" Then Exit Sub
K = Int(Val(Str))
If K < 1 Or K > N + 1 Then Exit Sub
ReDim S1(N)
For I = 0 To N
S1(I) = S(I)
Next
N = N - 1
ReDim S(N)
For I = 0 To N
If I < K - 1 Then
S(I) = S1(I)
ElseIf I >= K - 1 Then
S(I) = S1(I + 1)
End If
Next
For I = 0 To N
Print S(I);
If I Mod 10 = 9 Then Print
Next
Print
End Sub
Private Sub Command6_Click()
Str = InputBox("删除哪个元素?", "输入", N)
If Str = "" Then Exit Sub
Min = Val(Str)
Do
Max = Cxys(Min)
If Max <> N + 2 Then
MsgBox "删除第" & Max + 1 & "个元素"
ReDim S1(N)
For I = 0 To N
S1(I) = S(I)
Next
N = N - 1
ReDim S(N)
For I = 0 To N
If I < Max Then
S(I) = S1(I)
ElseIf I >= K Then
S(I) = S1(I + 1)
End If
Next
For I = 0 To N
Print S(I);
If I Mod 10 = 9 Then Print
Next
Print
End If
Loop While Max <> N + 2
End Sub
Private Sub Command7_Click()
End
End Sub
Private Sub Form_Load()
Form1.AutoRedraw = True
Form1.Width = 8000
Form1.Height = 6000
Command1.Caption = "产生随机数组"
Command2.Caption = "输入数组"
Command3.Caption = "后面添加"
Command4.Caption = "中间添加"
Command5.Caption = "按位置删除"
Command6.Caption = "按值删除"
Command7.Caption = "退出"
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = False
Command6.Enabled = False
End Sub
Function Srsz(ByVal L As Integer) As Single
Do
Str = InputBox("第" & L & "个元素", "输入", L)
If Str = "" Then
Shu = False
Else
Shu = True
Srsz = Val(Str)
End If
Loop While Not Shu
End Function
Private Sub Sjsz()
Str = InputBox("数组元素最小值数", "输入", -100)
If Str = "" Then Exit Sub
Min = Int(Val(Str))
Str = InputBox("数组元素最大值数", "输入", 100)
If Str = "" Then Exit Sub
Max = Int(Val(Str))
If Max < Min Then Exit Sub
Randomize
For I = 0 To N
S(I) = Int(Rnd * (Max - Min)) + Min
Next
End Sub
Function Cxys(ByVal L As Single) As Integer '检索要删除的元素
For I = 0 To N
If S(I) = L Then
Cxys = I
Exit For
Else
Cxys = N + 2
End If
Next
End Function
都运行过。
温馨提示:答案为网友推荐,仅供参考