1、VB威力加强版第3大题程序设计及答案1、* 编写程序:输入一元二次方程的系数a,b,c的值,求解一元二次方程的根。Private Sub Command1_Click() Dim a#, b#, c# a = Val(InputBox(参数a=) b = Val(InputBox(参数b=) c = Val(InputBox(参数c=) Call root(a, b, c) End Sub Private Sub root(x#, y#, z#) Dim t#, x1#, X2# t = y * y - 4 * x * z If t 0 Then x1 = (-y + Sqr(t) / (2
2、* x ) X2 = (-y - Sqr(t) / (2 * x) Print 实根; x1=; x1, x2=; X2 Else x1 = -y / (2 * x): X2 = Sqr(Abs(t) / (2 * x) Print 虚根, x1= & x1 & + & X2 & i End If End Sub 2、* 编写程序:已知x、y、z分别是09中的一个数,求x、y、z的值,使得下列成立:xxz+yzz=532。(其中xxz和yzz不表示乘积,而是由x、y、z组成的三位数)。Private Sub Command1_Click() Dim x, y, z For x = 1 To 9
3、 For y = 1 To 9 For z = 1 To 9 If (100 * x + 10 * x + z) + (100 * y + 10 * z + z) = 532 Then Print x, y, z; End If Next z Next y Next x End Sub 3、* 编写程序:* 计算并输出下面级数前n项(n=50)的部分和。1*2+2*3+3*4+4*5+n*(n+1)+Private Sub Command1_Click() Dim i As Integer, n As Integer, sum As Integer n = Val(Text1.Text) Fo
4、r i = 1 To n sum = sum + i * (i + 1) Next i Print sum End Sub 4、* 编写程序:编程计算123456n的值,n由用户输入Private Sub Command1_Click()Dim s As Integer, a As Integer, i As Integern = Val(Text1.Text)s = 0: a = 1For i = 1 To ns = s + i * aa = -aNext iPrint sEnd Sub 5、* 编写程序:编程计算1+(1+2)+(1+2+3)+(1+2+3+n),n由用户输入。Privat
5、e Sub Command1_Click()n = Val(Text1.Text)Sum = 0For i = 1 To nsum1 = 0For j = 1 To isum1 = sum1 + jNext jSum = Sum + sum1Next iPrint SumEnd Sub6 * 编写程序: * 计算并输出下面级数前n项(n=30)的部分和。 1/(1*2)+1/(2*3)+1/(3*4)+1/(n*(n+1)+ Private Sub Command1_Click()Dim i As Integer, n As Integer, sum As IntegerFor i = 1 T
6、o 30sum = sum + i * (i + 1)k = 1 / sumw = w + kNext iPrint wEnd Sub7、* 编写程序: * 求出斐波那契数列前20项中的奇数项的和。* 提示:前两项为:0,1,从第3项开始,每一项均为其前两项的和(即:0+1+1+2+3+5+.)。 Private Sub command1_Click()Dim a%, b%, c%, d%a = 0: b = 1For d = 1 To 18c = a + ba = bb = cIf d Mod 2 = 1 ThenSum = Sum + cEnd IfNextPrint SumEnd Sub
7、8 * 编写程序:设计一个程序,随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。Private Sub Command1_Click()Dim yRandomizeX = Int(Rnd * 900 + 100)Print Xy= strreverse(x)print y End Sub呵呵还有一种方法y = X Mod 10 & Int(X / 10) Mod 10 & Int(X / 100)也可以实现逆序排列还有一种方法For i = 0 To 2y = y & Mid(X, 3 - i, 1)Next iPrint y也可以啊O(_)O9、* 编写程序:计算并在窗体上输
8、出数字8的平方根和立方根。Private Sub Command1_Click()x = 8 (1 / 2)y = 8 (1 / 3)Print x; yEnd Sub10、* 编写程序:设计一个程序,输出在指定范围内的3个随机数,范围通过文本框输入。 Private Sub Command1_Click()a = Val(Text1.Text)b = Val(Text2.Text)c = Int(a + (b - a + 1) * Rnd)d = Int(a + (b - a + 1) * Rnd)e = Int(a + (b - a + 1) * Rnd)Print c & , & d &
9、 , & eEnd Sub11* 编写程序:输入x、y、z三个数,按从小到大的次序显示。Private Sub Command1_Click()x = Val(Text1.Text)y = Val(Text2.Text)z = Val(Text3.Text)If z x Thent = z: z = x: x = tEnd IfIf z y Thent = z: z = y: y = tEnd IfIf y x Thent = y: y = x: x = tEnd IfPrint x & , & y & , & zEnd Sub12* 编写程序:求100至999之间的最大的三个素数。Priva
10、te Sub Command1_Click()Dim n As Integer, i As Integer, j As Integer, n1 As IntegerDim flag As Booleann1 = 1For n = 900 To 100 Step -1flag = TrueFor i = 2 To Int(Sqr(n)If n Mod i = 0 Thenflag = FalseExit ForEnd IfNextIf flag ThenDo While n1 = 0.0001pi = pi + tn = n + 2s = -st = s / nWendpi = pi * 4Pr
11、int piEnd sub16、* 编写程序:利用随机函数产生20个(50,100)(不包括50,100)范围内的随机整数,显示它们当中的最大值、最小值和平均值。Private Sub Form_Click()Dim a, max, min, sum, averagesum = 0max = 20min = 50For i = 1 To 20a = (Rnd * 50) + 50sum = sum + aIf a max Then max = aPrint aNextPrint maxPrint minaverage = sum / 20Print averageEnd Sub17、* 编写程
12、序:* 使用双重循环,在窗体上输出“九九乘法表”的上三角。Private Sub Command2_Click()Dim I As Integer, J As IntegerMe.ClsFor I = 1 To 9For J = I To 9Print Format(I * J, I & x & J & = );NextPrintPrint Space(7 * I);NextEnd Sub18、* 编写程序:在文本框中输入小时、分、秒,化成共有多少秒,然后输出总秒数。Private Sub Command1_Click()Dim h%, m%, s%, x!h = Val(Text1.Text
13、): m = Val(Text2.Text)s = Val(Text3.Text)x = h * 3600 + m * 60 + sLabel1.Caption = 共计秒数 & Str(x) & 秒End Sub19、* 编写程序:在文本框中输入弧度值,将弧度换算为角度值(度、分、秒)的形式并输出,要求秒数保留三位小数。 Private Sub Command1_Click()hudu = Val(Text1.Text)a = Fix(hudu * 180 / 3.14)b = Fix(hudu * 180 / 3.14 - a) * 60)c = Fix(hudu * 180 / 3.14
14、 - a) * 60 - b) * 60)d = Fix(c)Print Format(c, #,000)Print a & 度 & b & 分 & c & 秒End Sub20、* 编写程序:利用InputBox和MsgBox完成小时、分、秒的输入,总秒数的输出。Private Sub Command1_Click()Dim a, b, c, da = InputBox(小时数)b = InputBox(分钟数)c = InputBox(秒数)d = 3600 * a + 60 * b + ce = MsgBox(总秒数 & d)End Sub21、* 编写程序:在文本框中输入长、宽、高,求
15、长方体的表面积并输出。Private Sub Command1_Click()Dim a, b, c, da = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = 2 * (a * b + b * c + a * c)Print 长方体的表面积 & = & dEnd Sub 22、* 编写程序:某公司每年的销售收入均比前一年增长10个百分点,按此增长率,需要多少年可以实现销售收入翻两番的目标?Private Sub Form_Click()Dim i As SingleDim s As Integer 设s为所求年数,定义为整型,
16、结果由窗体输出i = 1s = 0Do While i = 4i = i * (1 + 0.1)s = s + 1LoopPrint s=; sEnd Sub23、* 编写程序: * 设某人有现金8000元,银行年利率为7.5%,问如果这些钱如果存入银行,多少年后可以超过4万元。* (不计复利)24、* 编写程序:利用InputBox和MsgBox完成3种商品的单价、购买数量的输入,总金额的输出。25* 编写程序:在文本框中输入3种商品的单价、购买数量,计算并输出所用的总金额。Private Sub Command1_Click()Dim a1!, b1!, c1!Dim a2%, b2%,
17、c2% Dim x!a1 = Val(Text1.Text): a2 = Val(Text2.Text)b2 = Val(Text3.Text): b2 = Val(Text4.Text)c3 = Val(Text5.Text): c2 = Val(Text6.Text)x = a1 * a2 + b1 * b2 + c1 * c2text7.Text = xEnd Sub注:text1为第一种商品的单价,text2为第一种商品的数量,其它依此类推,text7为总计金额o(_)o26、* 编写程序:利用文本框输入一个年份,编程判定该年份是否是闰年。判定条件是:能被400整除,或者能被4整除但不
18、能被100整除的年份是闰年。在文本框中输入年份,使用print输出是否为闰年。 Private Sub Command1_Click() Dim i As Integer, s As Integer s = Int(Text1.Text) If s Mod 400 = 0 Or (s Mod 4 = 0 And s Mod 100 0) Then Print 闰年 Else Print 不是闰年 End If End Sub27、* 编写程序:百钱买百鸡。公元前5世纪,我国数学家张丘建在算经中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?Pr
19、ivate Sub Command1_Click()For x = 0 To 30For y = 0 To 33If 5 * x + 3 * y + (100 - x - y) / 3 = 100 ThenPrint x, y, 100 - x - yEnd IfNext yNext x注:X代表公鸡,Y代表母鸡28、* 编写程序:有一阶梯,如果每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;每步跨7阶,正好到达阶梯顶。问阶梯至少有多少阶?Private Sub Command1_Click()x = 0Do Until x Mod 2 = 1
20、And x Mod 3 = 2 And x Mod 4 = 3 And x Mod 5 = 4 And x Mod 6 = 5 And x Mod 7 = 0x = x + 1LoopPrint xEnd Sub29、* 编写程序:输出所有的“水仙花数”,所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。Private Sub Command1_Click()For a = 1 To 9For b = 1 To 9For c = 1 To 9If a 3 + b 3 + c 3 = a * 100 + b * 10 + c
21、ThenPrint a, b, cEnd IfNext cNext bNext aEnd Sub30、* 编写程序:输出以下图形: * * * *Private Sub Command1_Click()For i = 1 To 4Print Tab(25 - i);For j = 1 To 2 * i - 1Print *;Next jPrintNext iEnd Sub31、* 编写程序: * 打印出以下图案。 * * * * * * *Private Sub Command1_Click()Dim i As IntegerMe.Clsn = 4 For i = 1 To nPrint Ta
22、b(n - i + 1); String(2 * i - 1, *)NextFor i = n - 1 To 1 Step -1Print Tab(n - i + 1); String(2 * i - 1, *)NextEnd Sub32、* 编写程序:* 打印出以下图案。 * *+* *+*+* *+*+*+* *+*+* *+* *Private Sub Command1_Click()Dim i As IntegerMe.Clsn = 4For i = 1 To nPrint Tab(25 - i);For j = 1 To 2 * i - 1If j Mod 2 = 0 ThenPri
23、nt +;ElsePrint *;End IfNext jPrintNext iFor i = 3 To 1 Step -1Print Tab(25 - i);For j = 1 To 2 * i - 1If j Mod 2 = 0 ThenPrint +;ElsePrint *;End IfNext jPrintNext iEnd Sub33、* 编写一个图形输出的程序 * * * * * * * * *Private Sub Command1_Click()Dim i As IntegerMe.Clsn = 5For i = n To 1 Step -1Print Tab(n - i +
24、1); String(2 * i - 1, *)NextFor i = 2 To nPrint Tab(n - i + 1); String(2 * i - 1, *)NextEnd Sub34、* 编写程序: * 打印出以下图案。 * * * * * * Private Sub Command1_Click()For i = 1 To 5For j = 1 To iPrint *;Next jPrintNext iEnd Sub35、* 编写程序,输出下列三角形: 4444444 33333 222 1Private Sub Command1_Click()For i = 4 To 1 St
25、ep -1Print Tab(10 - i);For j = 2 * i - 1 To 1 Step -1Print Trim(Str(i);Next jNext iEnd Sub36、* 编写程序:* 打印出以下图案。 1 222 33333 4444444 33333 222 1Private Sub Command1_Click()For i = 1 To 4Print Tab(10 - i);For j = 1 To i * 2 - 1Print Trim(Str(i);Next jNext iFor i = 3 To 1 Step -1Print Tab(10 - i);For j
26、= 2 * i - 1 To 1 Step -1Print Trim(Str(i);Next jNext iEnd Sub37、* 编写程序: * 打印出以下图案。 1 121 12321 1234321 12321 121 1Private Sub Command1_Click()For i = 1 To 4Print Tab(25 - i);For j = 1 To iPrint Trim(Str(j);Next jFor j = i - 1 To 1 Step -1Print Trim(Str(j);Next jPrintNext iFor i = 5 To 7 Print Tab(17 + i); For j = 1 To 8 - i Print Trim(Str(j);Next jFor j = 7 - i To 1 Step -1Print Trim(Str(j);Next jNext iEnd Sub注释:Trim()功能删除字符串首部和尾部的空格。38、* 编写程序: * 打印出以下图案。 A BBB CCCCC DDDDDDD CCCCC BBB APrivate Sub Com
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2