文章目录
目录
九、单击窗体,求s=1+1/4+1/9+1/16……+1/100的值,输出到窗体上。
十、随机产生10个[30,100]内的整数,求最大值及所对应的下标。
前言
这一篇的VB题不会很难。
内容
一、双重循环输出矩阵
在文本框中输入一个1-20的数字,生成n行n列的矩阵,要求矩阵的次对角线为0,其他为1,点击显示按钮将其打印出来。(双重循环)
代码:
Private Sub Command1_Click()
a = Val(Text1.Text)
Sum = -1
If a >= 1 And a <= 20 Then
For i = a To 1 Step -1
Sum = Sum + 1
Print String(i - 1, "1"); String(1, "0"); String(Sum, "1")
Next
Else
MsgBox "请输入1-20之间的整数"
End If
二、求玫瑰花数。
所谓玫瑰花数,即一个4位数,每个位的4次方等于原4位数。
代码:
Private Sub Command1_Click()
Dim a, b, c, d
For i = 1000 To 9999
a = i Mod 10
b = i \ 10 Mod 10
c = i \ 100 Mod 10
d = i \ 1000
If a ^ 4 + b ^ 4 + c ^ 4 + d ^ 4 = i Then
Print i
End If
Next
End Sub
三、求零巧数。
所谓零巧数,即一个四位数,如果其百位上是零,去除百位上的零后组成新的三位数,如果乘于9等于原来的四位数,则该四位数即零巧数。
代码:
Private Sub Command1_Click()
Dim a, b, c, d
For i = 1000 To 9999
a = i Mod 10
b = i \ 10 Mod 10
c = i \ 100 Mod 10
d = i \ 1000
If c = 0 Then
x = a + b * 10 + d * 100
End If
If x * 9 = i And c = 0 Then
Print i & "是零巧数"
End If
Next
End Sub
四、标签移动
打开程序时标签在最左边,点开始按钮开始移动,到最右边时回归到最左边,点停止按钮则停止移动。
代码:
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Label1.Left = Val(Label1.Left) + 100
If Label1.Left > Form1.Width Then
Label1.Left = 0
End If
五、字符个数与ASCII码
选中单选按钮好,单击确定按钮,在文本框中显示一个随机生成的65~90的整数,并在标签中连续显示这么多个“好”,选中字符按钮,单击确定按钮,则在标签中显示这个随机数所转换的字符。不得使用循环。
代码:
Private Sub Command1_Click()
a = Int(Rnd * (90 - 65 + 1) + 65)
Text1.Text = a
If Option1.Value = True Then
Label1.Caption = String(Val(Text1.Text), "好")
ElseIf Option2.Value = True Then
Label1.Caption = Chr(Val(Text1.Text))
End If
End Sub
六、计算字母与数字的个数。
用VB编制一个程序,初始界面如图3所示。当用户从键盘输入任意字符到文本框后,单击“统计”按钮,则对其中的字母、数字进行分类统计,并将统计结果分别显示在2个相应的标签中。
代码:
Private Sub Command1_Click()
For i = 1 To Len(Text1.Text)
a = Mid(Text1.Text, i, 1)
If Asc(a) >= 97 And Asc(a) <= 122 Or Asc(a) >= 65 And Asc(a) <= 90 Then
b = b + 1
ElseIf a <= 9 And a >= 0 Then
c = c + 1
End If
Next
Label1.Caption = b
Label2.Caption = c
End Sud
七、10个三位正整数中的偶数之和
求10个三位正整数中的偶数之和,正整数用随机函数Rnd产生,或由InputBox函数输入
代码:
Private Sub Command1_Click()
For i = 1 To 10
Randomize
a = Int(Rnd * (999 - 100 + 1) + 100)
If a Mod 2 = 0 Then
s = s + a
End If
Next
Print s
End Sub
八、设计一个用时钟控制文字移动、字体大小和颜色改变的程序。
代码:
Dim a
Private Sub Form_Load()
a = 0
End Sub
Private Sub Timer1_Timer()
Label1.FontSize = Label1.FontSize + 10
Label1.Left = Label1.Left + 10
a = a + 1
If a Mod 2 = 1 Then
Label1.BackColor = vbBlue
End If
If a Mod 2 = 0 Then
Label1.BackColor = vbRed
End If
九、单击窗体,求s=1+1/4+1/9+1/16……+1/100的值,输出到窗体上。
代码:
Dim i As Integer
For i = 1 To 10
s = s + (1 / (i ^ 2))
Next
Print s
End Sub
十、随机产生10个[30,100]内的整数,求最大值及所对应的下标。
代码:
Private Sub Command1_Click()
Dim a(1 To 10), i As Integer
Max = 0
For i = 1 To 10
a(i) = Int(Rnd * (100 - 30 + 1) + 30)
If a(i) > Max Then
Max = a(i)
End If
Next
Print "最大值为" & Max
For i = 1 To 10
If a(i) = Max Then
Print "最大值下标为" & i
End If
Next
End Sub
总结:
这些题不会太难,学有余力的同学可以点击我的同学去,看我的其他VB练习题。