VB程序设计-.pdf
一般程序设计习题第 1题:(事件)单击窗体。(响应)求 100 以内偶数的和,并将结果输出在窗体上。将结果存入变量SUM 中答案:Dim i As Integer For i=1 To 100 If i Mod 2=0 Then sum=sum+i End If Next Print sum 第 2题:(事件)双击窗体。(响应)求 s=1+12+123+123 10,并将结果存到变量S中答案:Dim i,j As Integer Dim k As Long k=1 s=0 For i=1 To 10 For j=1 To i k=k*j Next s=s+k k=1 Next Print(CStr(s)第 3题:(事件)单击窗体。(响应)求 1+2+3+100 的值,并把结果输出在窗体上。结果存入变量SUM 中。答案:Dim i As Integer For i=1 To 100 sum=sum+i Next Print sum 第 4题:判断一个数是否是素数。答案:Dim i As Integer Prime=True For i=2 To Int(Sqr(m)If m Mod i=0 Then Prime=False:Exit For Next i 第 5题:(事件)单击窗体。(响应)求 1-1/2+1/3-1/4+1/99-1/100 的值。将结果存入变量J 中。Dim i As Integer For i=1 To 100 If i Mod 2=1 Then j=j+1/i ElseIf i Mod 2=0 Then j=j-1/i End If Next Print j 第 6 题:(事件)单击窗体。(响应)求 200300 之间既能被3 整除又能被7 整除的数。并求出所有数之和存入变量SUM 中答案:Dim i As Integer For i=201 To 300 If(i Mod 3)=0)And(i Mod 7)=0)Then Print(CStr(i)sum=sum+i End If Next Print sum 第 7题:(事件)单击窗体。(响应)求数列1+3+3+9+27+前6 项的和,并将 结果输出到窗体上。将结果存入变量SUM 中。答案:Dim i As Integer Dim j(1 To 6)As Integer For i=1 To 6 If i 3 Then j(i)=3 (i-1)Else j(i)=j(i-1)*j(i-2)End If sum=sum+j(i)Next Print sum 第 8题:(事件)单击窗体。(响应)求 10!的值,并将结果输出到窗体上。将结果存入变量SUM 中。答案:Dim i As Integer sum=1 For i=1 To 10 sum=sum*i Next Print sum 第 9题:(事件)双击窗体。(响应)求出 100200 之间,能被5 整除,但不能被 3 整除的数。并求所有数之和,存入变量中 SUM 中。答案:Dim i As Integer For i=100 To 200 If(i Mod 5)=0)And(i Mod 3)0)Then Print(CStr(i)sum=sum+i End If Next 第 10题:(事件)双击窗体。(响应)把一元钞票换成一分、二分和五分的硬币(每种至少有一枚),求出其所有的换法,把结果输出在窗体上。将所有的换法的数目存入变量N 中答案:Dim i,j,k As Integer For i=1 To 100 For j=1 To 50 For k=1 To 20 If(i+2*j+k*5)=100)Then Print(CStr(i)Print(CStr(j)Print(CStr(k)n=n+1 End If Next Next Next 第 11题:求两个数 m,n 的最大公约数p 和最小公倍数 q 答案:nm=n*m If m n Then t=m:m=n:n=t r=m Mod n Do While(r 0)m=n n=r r=m Mod n Loop p=n q=nm/n 第 12题:(事件)双击窗体。(响应)s=20+21+22+263,求 s 的值,并将结果 存储到变量S中。答案:Dim i As Integer i=20 While i=263 s=s+i i=i+1 Wend Print(CStr(s)第 13题:(事件)双击窗体。(响应)求 3+6+9+12+15+18+300 的和,并将结 果输出到窗体上。将结果存入变量SUM 中。答案:Dim i As Integer For i=3 To 300 If i Mod 3=0 Then sum=sum+i End If Next Print sum 第 14题:(事件)双击窗体。(响应)编写代码功能如(图 1)。将结果存入变量S中 答案:Dim i As Integer s=1 For i=1 To 10 s=s*i*i Next Print(CStr(s)第 15题:(事件)双击窗体。(响应)求 1+5+10+15+500 的和,并将结果输 出到窗体上。将结果存入变量SUM中。答案:Dim i As Integer For i=1 To 500 If i Mod 5=0 Then sum=sum+i End If Next Print sum 第 16题:(事件)单击窗体。(响应)编写程序求101112+11 1213+151617 的结果,并将结果输出到窗体上。将结果存入变量M 中答案:Dim i,j As Integer Dim s As Long For i=10 To 15 s=1 For j=i To i+2 s=s*j Next m=m+s Next Print(CStr(m)第 17题:(事件)双击窗体。(响应)求出 50 以内所有奇数的和。将结果存入变量SUM 中答案:Dim i As Integer For i=1 To 50 If i Mod 2=1 Then sum=sum+i End If Next Print sum 第 18 题:用迭代法求某个数的平方根。已知求平方根的迭代公式如图:算法思想:对于一个问题的求解x,可由给定的一个初值 x0,根据某一 迭代公式得到一个新的值x1,这个新值x1 比初值 x0 更接近要求的值x;再以新值作为初值,即:x1x0,重新按原来的方法求 x1,重复这一过和 直到|x1-x0|0.00001 Fsqrt=x1 第 19题:(事件)单击窗体。(响应)求 1020 之间所有素数的乘积并输出在窗体上。将结果存入变量L 中。答案:Dim i As Integer Dim j As Integer Dim b As Boolean l=1 b=False For i=10 To 20 For j=2 To i-2 If i Mod j=0 Then b=True End If Next If b=False Then l=l*i End If b=False Next Print Str(l)第 20 题:编写函数 fun 其功能是:能计算从 1 开始到 n 的 自然数中偶数的平方的和,n 由键盘输入,(n 是偶数)答案:Dim sum As Integer,i As Integer sum=0 For i=2 To n Step 2 sum=sum+i*i Next fun=sum 第 21题:(事件)单击窗体。(响应)求出 1000-9999 之间具有如下特点的四位数字,它的平方根 恰好就是它中间的两位数字,例如,2500 开 平方为 50,恰为 2500 的中间两位,找出所有 这样的四位数。并求出所有这样的数的和存入SUM中答案:Dim i As Integer Dim j As Integer For i=1000 To 9999 j=Val(Mid(Trim(Str(i),2,2)If j 2=i Then Print i,sum=sum+i End If Next 第 22题:(事件)双击窗体。(响应)求 100 以内奇数的和,并将结果输出在窗体上。将结果存入变量SUM 中答案:Dim i As Integer For i=1 To 100 If i Mod 2=1 Then sum=sum+i End If Next Print sum 第 23题:(事件)单击窗体。(响 应)在 窗 体 上 打 印 数 列2/1,3/2,5/3,8/5,13/8 的前 10 项,并求其和。答案:Dim i,j,k,m As Integer s=0 i=2 j=1 For k=1 To 10 m=j Print(CStr(i)&/&CStr(j)j=i i=i+m s=s+i/j Next 第 24题:(事件)双击窗体。(响应)写程序解决百钱买百鸡问题:公鸡3元 1 只,母鸡 5 元 1 只,小鸡一元 3 只,怎样用 100元买 100 只鸡。把结果输出到窗体上。将答案数存放在变量N 中答案:Dim i,j,k As Integer For i=1 To 20 母鸡For j=1 To 33 公鸡For k=3 To 100 小鸡If(k Mod 3)=0)And(i*5+j*3+k/3)=100)And(i+j+k)=100)Then Print(CStr(i)Print(CStr(j)Print(CStr(k)n=n+1 End If Next Next Next 第 25 题:(事件)单击窗体。(响应)一球从 100 米高度自由落下,每次落地返回 原高度的一半,求第10 次落地时,共经过多 少米?并将结果在窗体上输出。答案:Dim j,i As Integer s=0 j=100 For i=2 To 10 j=j/2 s=s+2*j Next s=100+s Print(CStr(s)第 26题:(事件)单击窗体。(响应)在窗体上输出100200 之间的所有合数。求出所有数之和存入SUM 中答案:Dim i,j,s As Integer For i=100 To 200 For j=2 To Sqr(i)If(i Mod j)=0 Then Print(CStr(i)sum=sum+i Exit For End If Next Next Print sum 第 27题:(事件)单击窗体。(响应)求 50 以内所有偶数的和,并在窗体上输出出来。将结果存入变量S中。答案:Dim i As Integer For i=2 To 50 If(i Mod 2)=0 Then s=s+i End If Next Print(CStr(s)第 28题:(事件)单击窗体。(响 应)已 知 S=1+1/4+1/9+1/16+1/25+1/100,结果输出在窗体上。答案:Dim i As Integer s=0 For i=1 To 10 s=s+1/(i i)Next Print(s)第 29 题:(事件)单击窗体。(响应)编写代码功能如(图 1)。将结果存入变量S中答案:Dim i As Integer For i=1 To 10 s=s+i*i Next Print(CStr(s)第 30题:(事件)单击窗体。(响应)求 1!+2!+3!+10!的值,并在窗体上输出。结果存入变量L 中。答案:Dim i As Integer Dim s As Long Dim j As Integer s=1 For i=1 To 10 s=s*i l=l+s Next Print Str(l)第 31 题:将一张面值为100 元的人民币等值换成 100 张 5 元、1 元和 0.5 元的零钞,要求每种零钞不少于1 张,问有哪几种组合?将组合数存入变量OUT中。答案:Dim n As Integer Dim i%,j%,k%Print 5?1?0.5?For i=1 To 20 For j=1 To 100-i k=100-i-j If 5#*i+1#*j+0.5*k=100 Then Print i,j,k n=n+1 End If Next j Next i out=n 第 32题:(事件)双击窗体。(响应)求 1!+2!+3!+4!+5!并将结果输出到窗体上。结果存入变量S中答案:Dim i,j,k,s As Integer For i=1 To 5 k=1 For j=1 To i k=k*j Next s=s+k Next Print(CStr(s)第 33题:(事件)单击窗体。(响应)求出 100 以内所有素数的和,并将结果输出 到窗体上,并存入所给变量SUM 中。答案:Dim i As Integer Dim j As Integer Dim k As Integer Dim b As Boolean b=False For i=2 To 100 b=False j=CInt(Sqr(i)For k=2 To j If i Mod k=0 Then b=True End If Next If b=False Then sum=sum+i End If Next Print sum-