1、vb上机考试习题以及答案VB上机考试1、利用随机函数产生25个100到999之间的整数,构成55的矩阵,输出该矩阵。Dim a(1 To 5, 1 To 5)Private Sub Form_Click()RandomizeFor i = 1 To 5 For j = 1 To 5 a(i, j) = Int(Rnd * (999 - 100 + 1) + 100) Print a(i, j); Next j PrintNext iEnd Sub2、利用随机函数产生25个10到99之间的整数,求其平均值(要求保留3位小数,第4位四舍五入)。Private Sub Form_Click()For
2、 i = 1 To 25 a = Int(Rnd * (99 - 10 + 1) + 10) Print a; s = s + aNext iPrintAvg = s / 25Print AvgEnd Sub3、在窗体上按下鼠标的右键,记录其坐标。Private Sub Form_Load() = 1 = 2End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then = X & , & YEnd IfEnd Sub4、利用随机
3、函数产生25个10到99之间的整数,按从小到大的顺序显示。Dim a(1 To 25)Private Sub Form_Click()ClsFor i = 1 To 25 a(i) = Int(Rnd * (99 - 10 + 1) + 10) Print a(i);Next iPrintFor i = 1 To 25 - 1 For j = 1 To 25 - i If a(j) a(j + 1) Then tmp = a(j): a(j) = a(j + 1): a(j + 1) = tmp Next jNext iFor i = 1 To 25 Print a(i);Next iEnd
4、Sub5、利用随机函数产生50个 1,6 之间的整数, 分别统计出1的个数,2的个数,3的个数,4的个数,5的个数和6的个数。Dim a(1 To 6)Private Sub Form_Click()For i = 1 To 6 a(i) = 0Next iFor j = 1 To 50 x = Int(Rnd * (6 - 1 + 1) + 1) a(x) = a(x) + 1Next jFor i = 1 To 6 Print i & 出现了 & a(i); 次Next iEnd Sub6、在文本框中输入一些英语单词,统计空格的个数。Dim n%, x As String, s%Priva
5、te Sub Form_Click()n = Lenx = For i = 1 To n If Mid(x, i, 1) = Then s = s + 1Next iPrint 共出现了 & s & 个空格End Sub7、编程计算下列公式的值,其中n (10)为从键盘输入的正整数。S=1!+3!+5!+(2*n-1)! Private Sub Form_Click()n = Val(InputBox(请输入一个不大于10的整数)s = 0For i = 1 To 2 * n - 1 Step 2 p = 1 For j = 1 To i p = p * j Next j s = s + pN
6、ext iPrint sEnd Sub8、编程计算下列公式的值,其中n ( max Then max = a(i): loc = iNext iPrint 最大的数是; maxPrint 在数组中是第; loc; 个数End Sub14、利用随机函数产生并显示10个4位数的正整数,找出其中的最小数。Option ExplicitDim i%, min%, loc%Dim a(1 To 10) As IntegerPrivate Sub Form_Click()RandomizeFor i = 1 To 10 a(i) = Int(Rnd * (9999 - 1000 + 1) + 1000)
7、Print a(i)Next imin = 9999For i = 1 To 10 If a(i) min Then min = a(i): loc = iNext iPrint 最小的数是; minPrint 在数组中是第; loc; 个数End Sub15、当按下鼠标左键时,窗体的背景色变为红色;松开鼠标左键时,窗体的背景色变为绿色。Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then = vbRedEnd SubPrivate
8、Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then = vbGreenEnd Sub16、编制一个时钟程序,如下图:Option ExplicitPrivate Sub Form_Load() = vbWhite = 1 = 2 = True = 1000End SubPrivate Sub Timer1_Timer() = TimeEnd Sub17、从键盘输入10个数,按输入的顺序和按输入顺序相反的顺序输出。Option ExplicitDim i
9、%Dim a(1 To 10) As SinglePrivate Sub Form_Click()For i = 1 To 10 a(i) = Val(InputBox(请输入第 & i & 个数) Print a(i);Next iPrintFor i = 10 To 1 Step -1 Print a(i);Next i End Sub18、计算圆面积的程序。程序运行时,单击窗体,然后在下图所示的输入框中输入圆的半径,即可在窗体上显示计算出的圆面积。Option ExplicitDim r%, a As SingleConst pi As Single = Private Sub Form
10、_Click()r = Val(InputBox(请输入圆半径 & vbCrLf & (1-9):, 输入, 5)a = pi * r 2Print 半径为; r; 的圆面积为; aEnd Sub19、编写一个时钟程序,当选择“24小时”时,以24小时的方式显示如A,当选择“12小时”时,以12小时的方式显示如B。 Private Sub Form_Load() = 1000End SubPrivate Sub Timer1_Timer()Select Case True Case = Time Case = Format(Time, HH:MM:SS AM/PM)End SelectEnd
11、Sub20、设计一个程序,用户界面如图所示。程序运行后,用户在文本框中输入一段文字,然后按需要单击选择框,用以改变文本的字体、字型、颜色以及大小。Option ExplicitPrivate Sub Check1_Click()If = 1 Then = 黑体Else = 宋体End IfEnd SubPrivate Sub Check2_Click()If = 1 Then = TrueElse = FalseEnd IfEnd SubPrivate Sub Check3_Click()If = 1 Then = 20Else = 9End IfEnd SubPrivate Sub Chec
12、k4_Click()If = 1 Then = vbGreenElse = vbBlackEnd IfEnd SubPrivate Sub Command1_Click() = End SubPrivate Sub Command2_Click() EndEnd Sub20做出2个周期的正弦波形. Private Sub Form_Click()Dim i%, x#, y#Const pi As String = (-2 * pi, -(2 * pi, (-2 * pi, 0)-(2 * pi, 0) (0, -(0, For x = -2 * pi To 2 * pi Step y = Si
13、n(x) (x, y)Next xEnd Sub21以窗体为中心,产生1000个半径颜色随机的同心圆.Private Sub Form_Click()For i = 1 To 1000 x = / 2 y = / 2 r = Int(Rnd * y) c = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd) (x, y), r, cNextEnd Sub22.九九乘法表Private Sub Form_Click()Dim i%, j% = 九九乘法表Print Tab(48); CaptionPrint Tab(48); -For i = 1 To 9 For j =
14、 1 To i Print Tab(j - 1) * 12 + 1); i; *; j; =; i * j; Next jPrintNext iEnd Sub23求最大公约数和最小公倍数Private Sub Command2_Click() = End SubPrivate Sub command1_Click()Dim m%, n%, r%, t%m = Valn = ValIf m n Then t = m: m = n: n = tt = m * nDo r = m Mod n m = n n = rLoop Until r = 0 = 公约数: & m = 公倍数 & t / mEnd Sub24.用随机函数产生50个两位数,保存于一个一维数组中,要求找出其中的最大值,最小值及所在位置.