VB程序改错题

更新时间:2023-09-11 02:05:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

程序改错

1.题目:已知C的公式表示如下:

' n!

' C=------------------ ' (n-m)!*m!

'函数过程fac( )求k!函数,在Fomr_Click事件中完成运算, '请修正程序中错误。

'------------------------------------------------ Option Explicit

Private Function fac(k As Integer) As Single Dim x As Single, j As Integer x = 0

For j = 1 To k x = x ^ j Next j fac = x End Function

Private Sub Form_Click() Dim C As Single

Dim m As Integer, n As Integer

m = Val(InputBox(\请输入一个整数(m):\ n = Val(InputBox(\请输入一个整数(n):\ C = fac(n) / fac(n - m) * fac(m) Print \End Sub

2.题目:程序功能为打印下列图形:

' * ' ** ' *** ' **** ' *****

'------------------------------------------------ Option Explicit

Private Sub Form_Click() Cls

Dim i As Integer

Dim j As Integer For i = 1 To 7 For j = 1 To 5 Print \ Loop Print Next i End Sub

3.题目:

本程序的功能是随机产生的10个两位正整数,并进行递减排序。

'------------------------------------------------ Option Explicit

Private Sub CreateRND() Dim Temp As Integer Dim I As Integer Dim N As Integer Dim X(10) As Integer Dim J As Integer N = 10

Print \数据:\ For I = 1 To N

X(I) = Int(Rnd() * 90) Print X(I); Next I Print

Print \排序:\ For I = 0 To N - 1 For J = I + 1 To N If X(I) > X(J) Then Temp = X(I) X(J) = X(I) X(I) = Temp End If Next J Print X(I); Next I Print End Sub

Private Sub Command1_Click() CreateRND End Sub

4.题目:

随机产生并输出100以内大于50的20个整数,输 出时每5个数一行。

'----------------------------------------------- Option Explicit

Private Sub Form_Click() Randomize Timer

Dim i As Integer, ma As Integer i = 1

Do Until i < 20

ma = Rnd() * 100 \\ 1 If ma > 50 Then Print ma; i = i + 1

If i \\ 5 = 0 Then Print

End If End If Loop End Sub

5题目:以下程序段用于计算5的N次方。

'------------------------------------------------ Option Explicit

Private Sub Form_Click()

Dim n As Integer, k As Integer, s As Long n = InputBox(\ k = 0 s = 0

Do While k <= n s = s * 5 k = k + 1 Next

Print \的\次方是\End Sub

6.题目:下面程序可输出如下图形:

' * ' *** ' ***** ' ******* ' *********

'------------------------------------------------ Option Explicit

Private Sub Form_Click()

Dim m As Integer, n As Integer, s As String, i As Integer, j As Integer n = 4 m = 1 s = \

For i = 5 To 1 Step -1 Print Spc(n)

For j = 1 To 2 * m - 1 Print s; Next j Print n = n + 1 m = m - 1 Next i End Sub

7.题目:

用自定义函数的方法求sum(x),求当-1≤x≤1时,

' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数 ' 据错误。X、N都是由用户输入。

'------------------------------------------------ Option Explicit

Private Sub Command1_Click() Dim s As Single

Dim n As Integer, x As Single, k As Integer n = Val(InputBox(\ x = Val(InputBox(\ If n <= 0 Then

k = MsgBox(\数据输入错误!\数据输入

\

Exit Sub End If s = Sum(x, n) Print s End Sub

Function Sum(x As Single, n As Integer) Dim i As Integer, ss As Long ss = 1 Sum = 0

If x > 1 Or x < -1 Then Exit Do Else

For i = 2 To n ss = ss * i

Sum = x ^ (i - 1) / ss Next i End If End Function

8.题目:以下程序功能是输入三个数,由大到小排序。

------------------------------------------------ Option Explicit Dim A As Integer Dim B As Integer Dim C As Integer

Private Sub Form_Click() Dim nTemp As Integer

A = Val(InputBox(\输入正整数\ B = Val(InputBox(\输入正整数\ C = Val(InputBox(\输入正整数\ If A <= C Then nTemp = A A = B B = nTemp End If

If B <= C Then nTemp = A A = C C = nTemp

本文来源:https://www.bwwdw.com/article/8peh.html

Top