编程语言
首页 > 编程语言> > VB程序设计基础题

VB程序设计基础题

作者:互联网

文章目录

目录

文章目录

前言

内容

一、双重循环输出矩阵

二、求玫瑰花数。

三、求零巧数。

四、标签移动

五、字符个数与ASCII码

六、计算字母与数字的个数。

七、10个三位正整数中的偶数之和

八、设计一个用时钟控制文字移动、字体大小和颜色改变的程序。

九、单击窗体,求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练习题。

标签:10,VB,End,Sub,Label1,基础,Private,程序设计,100
来源: https://blog.csdn.net/weixin_53146084/article/details/117432107