VB编程题答案_第1页
VB编程题答案_第2页
VB编程题答案_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Vb 编程题1. 求自然数 1-100 之间奇数之和。Private Sub Form_Click()Dim s As Long, i As Integer s = 0For i = 1 To 100 Step 2 s = s + iNextPrint sEnd Sub2. 求自然数 1-100 之间偶数之和。 Private Sub Form_Click()Dim s As Long, i As Integer s = 0For i = 2 To 100 Step 2 s = s + iNextPrint sEnd Sub3. 编写程序,在窗体上随机输出一个 10-99 之间的两位整数。 P

2、rivate Sub Form_Click()clRandomizePrint Int (Rnd() * 90) + 10End Sub4. 编程计算从 200到 1000之间的所有 4 的倍数之和。 Private Sub Form_Click()cisSum = 0For i = 200 To 1000 Step 4 Sum = Sum + iNextPrint 200-1000 中 4 的倍数和是 :" Sum End Sub5. 编程计算从 300到 1000之间的所有 7 的倍数之和。Private Sub Form_Click()Dim i As Integer, sum

3、 As Long sum = 0For i = 300 To 1000If i Mod 7 = 0 Then sum = sum + iEnd IfNextPrint 300-1000 中7的倍数和是:" sum End SubDim s As Si ngle,i As In teger, t As Si ngles = 0For i - 5 To 1Step -1t = i / (i +1)s = s + t6.编写程序在窗体上计算:5/6+4/5+3/4+2/3+1/2Private Sub Form_Click()NextPrint sEnd Sub7.在窗体的单击事件中编写程

4、序,从键盘上任意输入3个数,输出最大数。Private Sub Form_Click()Dim a As In teger, b As In teger, c As In tegerDim max As In tegera = Vai (In putBox ("b = Vai (In putBox ("c = Vai (In putBox ("Print a; b; c请输入第一个数") 请输入第二个数” 请输入第三个数”)max = aIf b > max The n max = bIf c > max The n max = cPrint

5、 ”三数中最大数是 :";maxEnd Sub8.在窗体的单击事件中编写程序,从键盘上任意输入3个数,输出中间数。Private Sub Form_Click()Dim a As In teger, b As In teger, c As In teger, t As In tegerDim m As In tegera = InputBox (,z请输入数据")b = InputBox ("请输入数据")c = InputBox ("请输入数据")Print a; b; cIf a > b The n t = a a = b

6、b = tEnd IfIf b < c Then m = bElself a > c Then m = cElse m = aEnd IfPrint ”中间数是”;mEnd Sub本题也可以将三个数排序,输出中间值。9. 在窗体的单击事件中编写程序,从键盘上任意输入 3 个数,输出最小数。Private Sub Form_Click()Dim a As Integer, b As Integer, c As Integer Dim min AsIntegera = Vai (InputBox ("请输入第一个数 ")b = Vai (InputBox (&quo

7、t;请输入第二个数” )c = Vai (InputBox ("请输入第三个数” ) Print a; b; c min =aIf b < min Then min = bIf c < min Then min = cPrint ”三数中最小数是 :" ;minEnd Sub10. 在窗体的单击事件中编写程序,从键盘输入 3 个数,按从小到大的顺序输 出到窗体上。Private Sub Form_Click() cisa = Vai(InputBox("a=")b = Vai(InputBox("b=") c = Vai(

8、InputBox("c=")If a > b Thent=a: a=b: b=tEnd IfIf a > c Then t=a: a=c: c=tEnd IfIf b > c Then t=b: b=c: c=tEnd IfPrint 按从小到大排序后的结果 : ; a; 、;b; 、; cEnd Sub11. 编写程序,通过 InputBox 函数从键盘上输入 4 个数,计算并在窗体上显示 这 4 个数的和及平均值。Private Sub Form_Click()cisSum = 0For i = 1 To 4x = Vai (InputBox (&qu

9、ot;接收 4 个数”)Sum = Sum + xNextPrint "和是" ;SumPrint 平均值是; Sum / 4End Sub12. 在窗体的单击事件过程中,编写程序计算 1! +2! +3! +20!方法一:Private Sub Form_Click()cisSum = 0x= 1For i = 1 To 20x = x * iSum = Sum + xNextPrint "l!+2!+.+20!=" SumEnd Sub方法二:Private Sub Form_Click()cisSum = 0For i = 1 To 20For j

10、 = 1 To ix = x * jNextSum = Sum + xNextPrint "l!+2!+.+20!=" SumEnd Sub13. 有一个窗体,窗体中有一个文本框,名称为 Textl, 有一个按钮,试编写 按 钮的单击事件,实现计算 1! +2! +3! +-+10!,将结果显示在文本框 Textl中。 例题 4-21Private Sub Command1_Click()Dim sum As Long, i As Integer, x As Longsum = 0x = 1For i = 1 To 10x = x * isum = sum + xNextT

11、extl. Text = "1 !+2!+.+10!=" + Str (sum)End Sub14 编写程序计算: s=l+l/2!+l/3!+-+l/n!, 说明:在窗体中有一个文本框控件 Textl, 用来接收 n 的值,有一个标签控件: Label 1, 用来显示 S 的值,试编写 窗体的单击事件,实现计算与显示功能,只要求写出事件的主要代码,事件过 程的起始语句和结束语句可略去。例题 4-22Private Sub Commandl_Click()Dim sum As Single, i As Integer, x As LongDim n As Integern

12、= Textl. Textsum = 0x = 1For i = 1 To nx = x * isum = sum + 1 / xNextLabel1. Caption = "1+1/2!+.+1/" & n & "!=" & sum End Sub15. 输入 x, 计算 y 的值。其中: y=l+3x (x>=0); y=l-5x (x<0) Private Sub Form_Click()cisx = Vai(InputBox("x=")If X >= 0 Then y = 1 + 3

13、* x Elsey = 1 - 5 * xEnd IfPrint x= ; x; 0T y- ; yEnd Sub16. 编写程序,在窗体上输出由 1、2、3、4、5 这五个数字组成的所有可能的 两 位数,并统计它们的个数。Private Sub Form_Click()CisFor i = 1 To 5For j = 1 To 5 gs = gs + 1 Print i * 10 + j;If gs Mod 5=0 Then Print NextNextPrint ”共有 " ;gs; " 个数。 "End Sub17. 塑过文本框输入一个整数X,判断X是否能被

14、2整除。判断的结果在标签中显不 OPrivate Sub Form_Click()Dim x As Integerx = Vai (Textl. Text)If x Mod 2 = 0 ThenLabel 1. Caption = Str (x) +”能被 2 整除 "ElseLabel 1. Caption = Str (x) +”不能被 2 整除 "End IfEnd Sub18. 编写程序,点击命令按钮 Command 1时,两个文本框 textl 与 text2 中的 内 容进行交换。Private Sub Command1_Click() t = Textl. T

15、extTextl. Text = Text2. TextText2. Text = tEnd Sub 19、编写程序,交换两个变量当中的数据。Private Sub Form_Click()Cisa = Vai (InputBox ( /z a=/z )b = Vai (InputBox("b=")Print 交换前两个数 :" ;a; b t = a: a = b: b = tPrint 交换后两个数 :“;a; bEnd Sub20. 求 s=a+aa+aaa+? +aaa? aaa(n 个 a), 其中 a 和 n 的值由用户自己 输入。例如 , 当 a=3

16、,n=4 时, S=3+33+333+3333o 方法一:Private Sub Form_Click()Cisa = Val(InputBox( H a=H)n = Val(InputBox( H n= H)s = 0si = 0For i = 1 To nsi = si * 10 + a ' si = si + a * 10 人 (i ? 1) s = s + siNextPrint sEnd Sub方法二:Private Sub Form_Click()Cisa = InputBox( Ha=n)n = Val(InputBox( H n= H)s = 0For i = 1 To

17、 ns = s + Val(String(i, a)NextPrint sEnd Sub21. 在窗体上输出下三角的九九乘法表。例题 4-23Private Sub Form_Click()CisFor i = 1 To 9For J = 1 To iPrint i; J; Format(Str(i * J),! ) ; Next PrintNext End Sub22. 编写程序,将 26 个字母逆序输出。Private Sub Form_Click()Dim x As String, y As String, t As String x ="abcdefghigklmnopqrs

18、tuvwxyz ” Print x y =For i = 26 To 1 Step -1t = Mid(x, i, 1) y = y + tNextPrint yEnd Sub23. 编写程序,将字符串”山高人为峰 "按逆序 "峰为人高山”输出。Private Sub Command1_Click() cis s = 山高人为峰 si ="" For i = Len(s) To 1 Step -1si = si & Mid(s, i, 1)NextPrint siEnd Sub24. 设纸的厚度为0.5毫米,将纸对折,再对折,求至少对折多少次,纸

19、张 的 厚度能达到珠穆朗玛峰的高度 8848米。Private Sub Form_Click()Cish = 0. 5: cs = 0Do While h < 8848000h = h * 2cs = cs + 1LoopPrint折纸次数为:"csEnd Sub25.在窗体的单击事件中编写程序,要求:由文本框TEXT1 俞入一个0到6的数字,单击窗体时,在标签控件 LABEL1上显示汉英对照星期信息,如:输 入0,则显示星期日(SUNDAY、输入1,则显示星期一(MONDAY以此类推。如 果输入06以外的数据,用MsgBox信息框显示“输入数据错误”的提示信 息。Privat

20、e Sub Form_Click()Dim d As In teger d = Vai(Textl. Text) Select Case dCase 0Label 1.="Su nday"CaCe,PtionLabel 1.="Mo nday"CaCe,2tionLabel 1.-TuesdayCaCe,3tionLabel 1.="Wed nesdayCaCe,4tionLabel 1.="Thursday ”CaCe,5tionLabel 1.? J ”CaCe,6tion-FridayLabel 1.Capti on="

21、;Saturday ”MsgBox ”输入数据错误”End SubEnd Select26. 编写程序,要求随着不断单击命令按钮Comma ndl窗体的标题依次显示为今天是星期一一今天是星期二一今天是星期三一今天是星期四一今天是星期五 -今天是星期六一今天是星期日。Private Sub Comma nd1_Click()Static i As In tegeri = i + 1Select Case iCase 1Forml. Caption = ”今天是星期一 " Case 2Forml. Caption = "今天是星期二 "Case 3Forml. Cap

22、tion = ”今天是星期三 " Case 4Forml. Caption = ”今天是星期四 " Case 5Forml. Caption = ”今天是星期五 " Case 6Forml. Caption = ”今天是星期六 " Case 7Forml. Caption = ”今天是星期日 " i = 0End SelectEnd Sub27. 在文本框中输入时、分、秒,编写程序将它们换算为秒,然后输出。设小 时 为h,分为m秒为s,则计算共有多少秒的公式为:x=h*3600+m*60+soPrivate Sub Commandl_Click

23、()Dim h As Integer, m As Integer, s As IntegerDim x As Long h = Textl. Text m = Text2. Text s = Text3. Textx = 3600 *h+m*60+sText4.Text = xEnd Sub28. 在银行存款,计算本利和的公式为:pl=p(l+r)n,其中,p为存款数,n为 年数,r为年利率,pl为n年后本金和利息之和。设 p=1000, n=3, r=0. 02, 编 程计算 3年后本利和。要求小数点后两位,四舍五入。Private Sub Form_Click()Dim p As Sing

24、le, n As Integer, r As SingleDim pl As Singlep = 1000n = 3r = 0. 02pl = p * (1 + r) nPrint "3 年后本利和 =" Int (pl * 100 + 0. 5) / 100;"元” EndSub29. 使用 InputBox 函数输入圆半径 r 和圆柱高 h, 使用文本框分别输出圆球表面4*3.14*r; 圆球体积公式为 (3/4)”的圆球表面积是 "+ Str (4”的圆球体积是 "+ Str (3 /积和圆球体积。提示:圆球表面积公式为 *3.14*r3

25、Private Sub Form_Click()r = Vai (InputBox C 圆半径 :") Textl. Text = "半径为 "+ Str (r) + 3. 14 * r)Text2. Text = "半径为 "+ Str (r) + 4) * 3. 14 * r " 3)End Sub30. 用 InputBox 函数输入 3 个数据,判断这 3 个数据是否可以组成三角形,如 果能够组成三角形,计算并在窗体上输出三角形的面积。构成三角形的条件是 任意两边之和大于第三边。面积公式为 area=, 其中 S=(A+B+C

26、)/2, A 、B、C 为 三条边的长度。Private Sub Form_Click() cis a = Vai(InputBox("a=")b = Vai(InputBox("b=")c = Vai(InputBox("c=")If a + b > c And a + c > b And b + c > a Thens = (a + b + c) / 2 area = Sqr (s * (s - a) * (s - b) * (s - c)Print 边长为 :" ;a; b; c; " 的三

27、角形面积为 :" ;area End If End Sub31. 从键盘输入一个半径,输出圆的面积和周长,输出要求有文字说明,保留 两 位小数。Private Sub Form_Click()Cis r = Vai(InputBox("r=")Print ”半径为 " ;r; ”的圆”Print 面积为; Round (3. 14 * r " 2, 2)Print 周长为 " ; Round(2 * 3. 14 * r)End Sub32. 使用文本框输入长方形的长和宽,用MsgBoXt出长方形的周长和面积Private Sub Fo

28、rm_Click()Dim a As Single, b As SingleDim s As Single, p As Single a = Vai (Textl. Text) b = Vai(Text2. Text) s = a * bp = 2(a + b)MsgBox ”面积是 :" + Str(s) + Chr (10) + "周长是 :" + Str(p)End Sub33. 使用 InputBox 函数输入华氏温度,要求输出摄氏温度。公式为: C=(5/9)*(F-32), 输出要有文字说明,取两位小数。Private Sub Form_Click()

29、Dim f As Single, c As Singlef = Vai(InputBox("f=")c = (5 / 9) * (f - 32)Print 华氏度为 :" ;f; "摄氏度为 :" Round(c, 2)End Sub34. 编写涨工资的程序。计算条件是:基本工资大于或等于 1500 元的,增加 工 资 20%;若小于 1500 元大于或等于 900 元的,增加工资 15%;小于 900 元 的, 增加工资 10%。要求: (1) 在文本框中输入基本工资值; (2) 在标签上输出 增长后 的基本工资值; (3) 当单击按钮 co

30、mmand 1时实现上述功能。Private Sub Command1_Click()Select Case Case Is >= gz = gz * Case Is >= gz = gz * Case Else gz = gz * End Selectgz1500(1 + 0. 2)900(1 + 0. 15)(1 + 0.gz = Vai(Textl. Text)Label1. Caption = Str(gz)End Sub35. 公用电话收费标准如下:通话时间在 3分钟之内 (包括 3分钟),收费 0.5 元;3 分钟以上,则每超过 1 分钟加收 0.15 元。编写一段程序

31、,计算某人通话 S分钟,应缴多少电话费。Private Sub Form_Click()Ciss = Vai (InputBoxC 通话时间” )If s <= 3 Thenhf = 0. 5Elsehf = 0. 5 + Int(s - 3) * 0. 15End IfPrint 通话时间为; s; 分种Print ”应收话费 " Format (hf, "0.#");" 元”End Sub36. 编程将一维数组 A(10) 中数组元素循环向后移动一个位置,最后一个元素移 动到第一个元素的位置。Private Sub Form_Click()Di

32、m a(10) As IntegerRandomizecisPrint 初始数组为 :"For i = 0 To 10 a(i) = I nt (Rnd * 10) Print a(i);NextPrint t = a(10)For i = 10 To 1 Step -1 a(i) = a(i - 1)Next a(0) = tPrint 移位后数组为For i = 0 To 10Print a(i);NextPrint End Sub37. 编写程序,求 s 的值,s=IX2X3+2X3X4+-+nX (n+1) X (n+2)的值。n 由程 序输入。Private Sub Form_CIick()Cisn = Vai(InputBox("n=")s = 0For i = 1 To ns = s + i * (i + 1) * (i + 2)NextPrint "1X2X3+2X3X4+ ?+; n; "X ; n + 1;X; n + 2;"=;SEnd Sub38. 火车站托运行李,按规定当行李重量不超过 50 公斤时,每公斤运费 0. 25 元,超过50公斤后,超过部分按每公斤0. 40元收费。输入行李重量 W公斤, 计算 出应付多少运费。Private Sub Form_Click()Ci

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论