程序设计 - 图文

更新时间:2024-04-15 19:22:01 阅读量: 综合文库 文档下载

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

程序设计 1、'【程序设计】

'-------------------------------------------------

'题目:(事件)单击窗体。

' (响应)求1!+2!+3!+4!+5!并将结果输出到窗体上。 ' 结果存入变量S中

'------------------------------------------------- Private Sub Form_Click() Dim s As Integer s = 0

'********* Program ************ Dim i,j As Integer j = 1

For i = 1 To 5 J = j * i

S = s + j Next i Print s

'********** End ***************** YZJ (s) End Sub

2、'【程序设计】

'-------------------------------------------------

'题目:判断一个数是否是素数。

'------------------------------------------------- Private Function Prime(ByVal m As Integer) As Boolean '********** Program ********* Dim i%

For i = 2 to m-1

If (m mod i) = 0 then Prime = false End if Exit for Next i

Prime = true

'********** End ************* End Function

Private Sub Form_Load() Dim m, i As Integer Show

m = Val(InputBox(\请输入一个数\ If Prime(m) = True Then Print \该数是素数\ Else

Print \该数不是素数\ End If WWJT

End Sub

3、'【程序设计】

'-------------------------------------------------

'题目:编写函数fun,函数的功能是:求1~1000以内能 '同时被m、n整除的数的总和并显示。如: 'm为15,n为11时,显示\'存储总和的变量必须为Sum '要求使用For语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(m As Integer, n As Integer) As Long Dim Sum As Long

'**********Program********** Dim i% Sum = 0

For i = 1 to 1000

If i mod m = 0 and i mod n =0 then Sum = sum + i End if Next i

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(15, 11) NJIT_VB End Sub(

4、事件)单击窗体。

' (响应)生成一个一维数组(10个数组元素依次为: ' 15、23、72、43、96、23、3、65、88、17), ' 写程序求出这个数组中的最大值、最小值和平 ' 均值,并输出在窗体上。

' 将最大值,最小值,平均值分别存入变量 ' Max,Min,Aver中

'------------------------------------------------- Private Sub Form_Click()

Dim max, min, aver As Integer

'*********** Program ********** Dim a(9) as integer Dim i,s as integer A(0) = 15 A(1)=23 A(2)=72 A(3)=43 A(4)=96 A(5)=23 A(6)=3 A(7)=65 A(8)=88 A(9)=17 Max=a(0) Min=a(0) S=0

For i = 0 to 9

If a(i) >max then Max = a(i) End if

If a(i)

S =s + a(i) Next i

Aver= int(s/10)

Print (Cstr(max)) Print (Cstr(min)) Print (Cstr(aver))

'********** End ************** Call YZJ(max, min, aver)

End Sub 4、

5、【程序设计】

'-------------------------------------------------

'题目:(事件)双击窗体。

' (响应)写程序解决百钱买百鸡问题:公鸡3元1只, ' 母鸡5元1只,小鸡一元3只,怎样用100元买 ' 100只鸡。要求每类鸡至少买1只。 ' 把每种买法输出到窗体上。 ' 将买法总数存放在变量N中

'------------------------------------------------- Private Sub Form_dblClick() Dim n As Integer n = 0

'******** Program ******* 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 k Next j Next i

'************ End ***********

YZJ (n) End Sub

6、'-------------------------------------------------

'【程序设计】

'-------------------------------------------------

'题目:(事件)单击窗体。

' (响应)求1+2+3+??+100的值,并把结果输出在窗体上。 ' 结果存入变量SUM中

'------------------------------------------------- Private Sub Form_Click() Dim sum As Integer

'******* Program ************ Dim i%

For i = 1 to 100 Sum =sum + i Next i

Print sum

'******** End **************

YZJ (sum) End Sub

7、'题目:(事件)单击窗体。

' (响应)输出斐波那契数列1,1,2,3,5,8,13...第20个 ' 数的值

' 即 f1=1 (n=1) ' f2=1 (n=2)

' fn=f(n-1)+f(n-2)(n≥3)

' 使用for...next语句完成程序,并将结果 ' 存入变量sum中

'------------------------------------------------- Private Sub Form_Click()

Dim sum As Integer, f1 As Integer, f2 As Integer f1 = 1 f2 = 1

**************** Program **************

dim i as integer for i=1 to 9 f1=f1+f2 f2=f2+f1 next i print f2 sum=f2

'*************** End ************************* Call YZJ(sum) End Sub

8、'题目:(事件)双击窗体。

' (响应)求s=1+1×2+1×2×3+?+1×2×3×?×10, ' 并将结果存到变量S中

'------------------------------------------------- Private Sub Form_dblClick() Dim s As Long

'******** Program ******* 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 j

s = s + k k = 1 Next i

Print (CStr(s))

'********* End ************ YZJ (s) End Sub

9、'题目:有一根长度为321米的钢材,要将它截取为两种规格的

'短料,两种规格的长度分别为a米、b米。每种至少一段。 '编写函数fun,函数的功能是:

'求出分割成两种规格后剩余残料r最少的值,并显示。如: 'a为51、b为61时,则显示\

'要求使用For语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(a As Integer, b As Integer) As String '**********Program********** Dim r!, t! , m% , n% r = 321

For m = 2 To (321 - a) \\ b

For n = 2 To (321 - b * m) \\ a t = 321 - n * b - m * a

If t >= 0 And t < r Then r = t End If Next m Next n fun = r

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(51, 61) NJIT_VB End Sub

10、'题目:(事件)单击窗体。

' (响应)编写程序求10×11×12+11×12×13+?+15×16×17的结果, ' 并将结果输出到窗体上。 ' 将结果存入变量M中

'------------------------------------------------- Private Sub Form_Click() Dim m As Long

'******** Program ************* 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 j

m = m + s Next i

Print (CStr(m))

'************ End *********** YZJ (m) End Sub

11、'题目:编写函数fun,函数的功能是:求一个

' 四位数的各位数字的立方和

'------------------------------------------------- Private Function fun(n As Integer) As Long

'********** Program *********

Dim d As Integer, k As Integer, s As Integer While n > 0

d = n Mod 10

s = s + d * d * d n = n / 10 Wend fun = s

'********** End *************

End Function

Private Sub Form_Load()

Show

Print fun(1112) WWJT

End Sub

12、'题目:将一个十进制整数m转换成 →r(2-16)进制字符串。

'方法:将m不断除 r 取余数,直到商为零,以反序得到结果。 ' 下面写出一转换函数,参数idec为十进制数,ibase为要转 ' 换成数的基(如二进制的基是2,八进制的基是8等), ' 函数输出结果是字符串

'-------------------------------------------------

Private Function TrDec(idec As Integer, ibase As Integer) As String

'********** Program ********* Dim strDecR$, iDecR% strDecR = \

Do While idec <> 0

iDecR = idec Mod ibase If iDecR >= 10 Then

strDecR = Chr$(65 + iDecR - 10) & strDecR Else

strDecR = iDecR & strDecR End If

idec = idec \\ ibase Loop

TrDec = strDecR

'********** End *************

End Function

Private Sub Form_Load() Show

Print TrDec(45, 2) WWJT End Sub

13、'题目: (事件)单击窗体。

' (响应)输出100-200之间所有素数,并将这些数 ' 求和,求和结果存入所给变量SUM中。

'------------------------------------------------- '注意:请在指定的事件内编写代码。

'-------------------------------------------------

'***************** Program ************** For i = 100 To 200 For j = 2 To Sqr(i)

If i Mod j = 0 Then Exit For Next j

If j > Int(Sqr(i)) Then Sum = Sum + i End If Next i

Print Sum

'*************** End *************************

YZJ (Sum) End Sub

14、'题目:求二维数组中最大元素及其所在的行和列

' 并将最大值存入变量Max中,将最大值的行位置存入 ' row中,列位置存入变量column中.

'------------------------------------------------- Private Sub Form_Load() Show

Dim a(2, 3) As Integer

Dim max As Integer, row As Integer, column As Integer a(1, 1) = 34: a(1, 2) = 34: a(1, 3) = 43 a(2, 1) = 34: a(2, 2) = 78: a(2, 3) = 12 '********** Program ********* Dim i As Integer, j As Integer

max = a(1, 1): row = 1: column = 1 For i = 1 To 2 For j = 1 To 3

If a(i, j) > a(row, column) Then

max = a(i, j) row = i column = j End If Next j Next i

Print \最大元素是\

Print \在第\行,\第\列\

'********** End ************* WWJT max, row, column End Sub

15、(事件)单击窗体。

' (响应)已知s=1+1/3!+1/5!+1/7!+1/9!,请将s结果值

' 输出到窗体上。使用do while...loop语句完成程序

'------------------------------------------------- Private Sub Form_Click()

Dim p As Long ' p变量存放阶层的值 Dim s As Single

'***************** Program ************** Dim i As Integer i = 1 p = 1

Do While i <= 9 p = p * i

If i Mod 2 = 1 Then s = s + 1 / p End If i = i + 1 Loop Print s sum=s

'*************** End ************************* Call YZJ(s) End Sub

16、'题目:(事件)双击窗体。

' (响应)求1+2+3+5+8+13+??前20项的和,并将结果在窗体上输出。 ' 将结果存入变量SUM中

'------------------------------------------------- Private Sub Form_dblClick() Dim sum As Integer

'*********** Program ************* Dim i As Integer

Dim j(1 To 20) As Integer For i = 1 To 20 If i < 3 Then j(i) = i Else

j(i) = j(i - 1) + j(i - 2) End If

sum = sum + j(i) Next i Print sum

'******** End **************** YZJ (sum) End Sub

17、'题目: (事件)单击窗体。

' (响应)求出100以内所有素数的和,并将结果输出 ' 到窗体上,并存入所给变量SUM中。

'------------------------------------------------- Private Sub Form_Click() Dim sum As Integer

'***************** Program ************** 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 k

If b = False Then sum = sum + i End If Next i Print sum

'*************** End ************************* Call YZJ(sum) End Sub

18、题目:应用选择法对数组A按升序排列

'基本思想:

' 1)对有n个数的序列(存放在数组a(n)中),从中 ' 选出最小的数,与第1个数交换位置;

' 2)除第1 个数外,其余n-1个数中选最小的数,与 ' 第2个数交换位置;

' 3)依次类推,选择了n-1次后,这个数列已按升序 ' 排列。

'-------------------------------------------------

Private Sub Sort(ByRef a() As Integer, n As Integer) '********** Program *********

Dim i, j, imin, temp As Integer For i = 1 To n - 1 imin = i

For j = i + 1 To n

If a(imin) > a(j) Then imin = j Next j

temp = a(i) a(i) = a(imin) a(imin) = temp Next i

'********** End *************

End Sub

Private Sub Form_Load() Show

Dim i As Integer

Dim arr(10) As Integer For i = 1 To 10

arr(i) = Int(10 * Rnd + 1) Next

Sort arr, 10 For i = 1 To 10 Print arr(i) Next WWJT End Sub

19、'题目:编写函数fun,函数的功能是:判断一个数是否为素数。

'并显示相应提示。如:

'该数为素数时,显示\素数\;该数为非素数时,显示\非素数\'要求使用For语句来实现,用布尔型变量flag作为该数 '是否为素数的标志,注意:不得使用Goto语句。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(m As Long) As String Dim flag As Boolean

'**********Program********** flag = True

For i = 2 To m - 1

If m Mod i = 0 Then flag = False Next i

If flag = true Then fun = \素数\Else

'********** End **********

End Function

Private Sub Form_Load() Show

Print fun(225) NJIT_VB End Sub

20、'题目:用inputbox函数输入商品购物总额,请用Select语

' 句编程计算打折后的金额? '折扣方法如下:

'购物300以下(含300),无优惠(使用MsgBox显示“无优惠”); '购物300以上(不含300),95折; '购物500以上(不含500),9折; '购物1000以上(不含1000),85折; '购物5000以上(不含5000),8 折。 '

'-------------------------------------------------

Private Function Fun(n As Integer) As Integer

'********** Program ********* Select Case n

Case Is > 5000 n = n * 0.8

Case Is > 1000 n = n * 0.85

Case Is > 500 n = n * 0.9

Case Is > 300 n = n * 0.95 Case Else

MsgBox \无优惠\End Select

'********** End ************* Fun = n

End Function

Private Sub Form_Load() Dim TMoney As Integer

TMoney = Val(InputBox(\输入购物总额:\ Me.Print \打折后的金额为:\ WWJT

End Sub

21、题目:(事件)单击窗体。

' (响应)输出一个如图所示的由数字组成的倒三角形 ' 请将结果存入变量S中(要求利用msgbox函数 ' 显示结果,使用for...next语句完成程序)

'------------------------------------------------- Private Sub Form_Click() Dim s As String

'***************** Program ************** Dim tmp As String

Dim i As Integer, j As Integer tmp = \

For i = 10 To 1 Step -1 For j = 0 To i - 1 tmp = tmp & CStr(j) Next j

tmp = tmp & vbCrLf Next i

MsgBox tmp s = tmp

'*************** End ************************* Call YZJ(s) End Sub

22、'题目:将一张面值为100元的人民币等值换成100张5元、

' 1元和0.5元的零钞,要求每种零钞不少于1张, ' 问有哪几种组合?将组合数存入变量OUT中。

'------------------------------------------------- Private Sub Form_Load() Show

Dim out As Integer

'********** Program ********* Dim n As Integer Dim i%, j%, k%

Print \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

'********** End ************* WWJT out End Sub

23、'题目:(事件)单击窗体。

' (响应)编写代码功能如(图1)。 ' 将结果存入变量S中

'------------------------------------------------- '注意:请在指定的事件内编写代码。

'------------------------------------------------- Private Sub Form_Click() Dim s As Integer

'************ Program ************ Dim i As Integer s = 1

For i = 1 To 10 s = s * i * i Next i

Print (CStr(s))

'************ End ****************

YZJ (s)

End Sub

24、'题目:编写函数fun其功能是:根据整型形参m,

'计算如下公式的值:

' y=1+1/3+1/5+1/7+...+1/(2m+1) ' 例如:若m=9,则应输出:2.133256

'------------------------------------------------- Private Function fun(m As Integer) As Single

Dim y As Double

'********** Program ********* Dim i As Integer y = 1

For i = 1 To m

y = y + 1 / (2 * i + 1) Next i fun = y

'********** End ************* End Function

Private Sub Form_Load() Show

Print fun(9) WWJT End Sub

25、

'题目:已知,猴子吃一堆桃子,每天吃桃子总数的一半多一个。 '到第n天时,桃子只剩一个。编写函数fun,函数的功能是: '求出开始桃子的数量并显示。如: 'n为7时,则显示\'要求使用For语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(n As Long) As String '**********Program********** x = 1

For i = 1 To n - 1 x = (x + 1) * 2 Next i fun = x

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(7) NJIT_VB End Sub

26、(事件)单击窗体。

' (响应)求200~300之间既能被3整除又能被7整除的数。 ' 并求出所有数之和存入变量SUM中

'------------------------------------------------- Private Sub Form_Click() Dim sum As Integer sum = 0

'***************** Program ************ 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 i Print sum

'*************** End ****************** YZJ (sum) End Sub

27、(事件)双击窗体。

' (响应)求1+5+10+15+……+500的和,并将结果输出到窗体上。 ' 将结果存入变量SUM中

'------------------------------------------------- Private Sub Form_dblClick() Dim sum As Long sum = 1

'******* Program ********** Dim i As Integer For i = 1 To 500

If i Mod 5 = 0 Then

sum = sum + i End If Next i Print sum

'******* End ************ YZJ (sum) End Sub

28、(事件)单击窗体。

' (响应)求一个数,它除3余2,除5余3,除7余2, ' 请将满足上面条件的最小数保存到sum变量中。 ' 使用for...next语句完成程序

'------------------------------------------------- Private Sub Form_Click() Dim sum As Integer

'***************** Program ************** Dim i As Integer For i = 2 To 1000

If i Mod 3 = 2 And i Mod 5 = 3 And i Mod 7 = 2 Then Print i Exit For End If Next i

sum = i

'*************** End ************************* Call YZJ(sum) End Sub

29、 (事件)单击窗体。

' (响应)已知sum=1-1/4+1/9-1/16+1/25...-1/100, ' 请将sum结果值输出到窗体上。 ' 使用for...next语句完成程序

'------------------------------------------------- Private Sub Form_Click() Dim sum As Single

'***************** Program ************** dim i As Integer

for i = 1 to 10

sum = sum + (-1) ^ (i - 1) /(i*i) next

Print sum

'*************** End ************************* Call YZJ(sum) End Sub

30、(事件)单击窗体。

' (响应)求50以内所有偶数的和,并在窗体上输出出来。 ' 将结果存入变量S中

'------------------------------------------------- Private Sub Form_Click() Dim s As Integer

'******** Program ********* Dim i As Integer For i = 2 To 50

If (i Mod 2) = 0 Then s = s + i End If Next

Print (CStr(s))

'********* End *********** YZJ (s) End Sub

31、编写函数fun,函数的功能是:求从m到n的奇数的乘积并显示,

'如:m为2,n为5时,显示\'存储连乘的乘积的变量必须为Product '要求使用For语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(m As Integer, n As Integer) As Long Dim Product As Double, t As Integer

If m > n Then t = m: m = n: n = t '**********Program********** Product = 1 For i = m To n

If i Mod 2 <> 0 Then Product = Product * i Next i

fun = Product

'********** End ********** End Function

32、编写函数fun,函数的功能是:求1~100以内

'能被m整除或能被n整除的数的总和并显示。如: 'm为15,n为11时,显示\'存储总和的变量必须为Sum '要求使用For语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(m As Integer, n As Integer) As Long Dim Sum As Long

'**********Program********** Sum = 0

For i = 1 To 100

If i Mod m = 0 Or i Mod n = 0 Then Sum = Sum + i End If Next i fun = Sum

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(15, 11) NJIT_VB End Sub

33、(事件)单击窗体。

' (响应)已知S=1+1/4+1/9+1/16+1/25+…+1/100, ' 结果输出在窗体上。

'------------------------------------------------- Private Sub Form_Click() Dim s As Single

'************* Program ************** Dim i As Integer s = 0

For i = 1 To 10 s = s + 1 / (i ^ i) Next Print (s)

'************* End ************** YZJ (s) End Sub

34、有一根长度为200米的钢材,要将它截取为两种规格的

'短料,两种规格的长度分别为a米、b米。每种至少两段。 '编写函数fun,函数的功能是:

'求出分割成两种规格后剩余残料r最少的值,并显示。如: 'a为31、b为41时,则显示\'要求使用For语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(a As Integer, b As Integer) As String '**********Program********** Dim r!, t! , m% , n% r = 200

For m = 2 To (200 - a) \\ b

For n = 2 To (200 - b * m) \\ a t = 200 - n * b - m * a

If t >= 0 And t < r Then r = t End If Next m Next n

fun = r

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(31, 41) NJIT_VB End Sub

35、在窗体上添加一个命令按钮和一个Pictrue控件,请

' 编写command1_click事件的代码,在Pictrue控件 ' 按以下图格式输出乘法九九表。

'------------------------------------------------- '注意:请在指定的事件内编写代码。 '-------------------------------------------------

'***************** Program **************

没有图 ,不好做。下面是顺三角式九九乘法表的代码。 Private sub command1_click() Din i%,j%

Dim expss as string For i =1 TO 9 For j=1 to i

Expss = i & ”*” & j & ”=” & i * j Picture1.print tab((j-1)*10+1); expss Next j

Picture1.print Next i End sub

'*************** End ************************* End Sub

36、(事件)单击窗体。

' (响应)已知sum=-1!+1/2!-1/3!+1/4!...+1/10!, ' 请将sum结果值输出到窗体上。 ' 使用do while...loop语句完成程序

'-------------------------------------------------

Private Sub Form_Click()

Dim p As Long 'p变量存放阶乘的值 Dim sum As Single

'***************** Program ************** Dim i As Integer i = 1 p = 1 S = 0

Do While i <= 10 p = p * i

s = s + (-1 ) ^i*(1 / p ) i = i + 1 Loop Print s sum=s

'*************** End ************************* Call YZJ(sum) End Sub

37、(事件)单击窗体。

' (响应)我国现有人口为13亿,设年增长率为1%, ' 计算多少年后增加到20亿。并将结果输出 ' 在窗体上。将结果存入变量year中。 ' 使用do while ...loop语句完成程序。

'------------------------------------------------- Private Sub Form_Click() Dim year As Integer

'***************** Program ************** dim p as double dim r as single dim n as integer p=1300000000 r=0.01

do while p<2000000000 p=p+p*r n=n+1 loop

print \year=n

'*************** End ************************* Call YZJ(year) End Sub

38、 (事件)单击窗体。

' (响应)求从100到1000之间所有是3的倍数的数之 ' 和,当和大于3000时,停止计算并输出和。请将结果输 ' 出到窗体上,并存入所给变量SUM中。使用for...next语 ' 句完成程序

'------------------------------------------------- Private Sub Form_Click() Dim sum As Integer

'***************** Program ************** Dim i As Integer sum=0

for i=100 to 1000 if i mod 3=0 then sum=sum+i

if sum>3000 then exit for End if End if i=i+1 next i

Print sum

'*************** End ************************* Call YZJ(sum) End Sub

39、:编写函数fun,函数的功能是:计算两个正整数的

'最大公约数,并显示。如: '两个数为15、20,结果显示\'要求使用Do ... Loop语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。

'-------------------------------------------------

Private Function fun(m As Integer, n As Integer) As Integer Dim r%

If m > n Then r = m: m = n: n = r '**********Program********** R=n mod m

Do While (r <> 0) n = m m= r

r = n Mod m Loop fun = m

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(15, 10) NJIT_VB End Sub

40、(事件)单击命令按钮Command1,在指定的函数中编写。

' (响应)找出5个整数序列中的最大数与最小数,最大 ' 数显示在Text1中,最小数显示在Text2中,

' 并以升序重新排列这5个数。并显示在Label4中。 ' 窗体格式如图1所示。

'------------------------------------------------- '注意:请在指定的事件内编写代码。 '-------------------------------------------------

Option Explicit Option Base 1

Dim a(5) As Integer

Private Sub MaxAndMin() '5个整数都保存在数组a中

'**********Program********** Dim i%,j%,t%,max%,min% Max=a(1)

Min=a(1) For i = 1 to 5

If max < a(i) then max = a(i) If min > a(i) then min = a(i) Next i

Text1.text=max Text2.text=min For i = 1 To 5 For j = i + 1 To 5

If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next j Next i

For i = 1 To 5

s = s + Str(a(i)) Next i

Label4.Caption = s

'********** End **********

End Sub

Private Sub Command1_Click()

a(1) = 97: a(2) = 88: a(3) = 5: a(4) = 95: a(5) = 36 MakeNumber MaxAndMin

WWJT Text1.Text, Text2.Text End Sub

Private Sub MakeNumber() Dim i As Integer Dim s As String

For i = 1 To 5

s = s + Str(a(i)) Next i

Label3.Caption = s

End Sub

Private Sub Form_Load() Label3.FontSize = 18 Label4.FontSize = 18 Text1.FontSize = 18 Text2.FontSize = 18

41'题目:求二维数组中最大元素及其所在的行和列

' 并将最大值存入变量Max中,将最大值的行位置存入 ' row中,列位置存入变量column中.

'------------------------------------------------- Private Sub Form_Load() Show

Dim a(2, 3) As Integer

Dim max As Integer, row As Integer, column As Integer a(1, 1) = 34: a(1, 2) = 34: a(1, 3) = 43 a(2, 1) = 34: a(2, 2) = 78: a(2, 3) = 12 '********** Program ********* Dim i As Integer, j As Integer

max = a(1, 1): row = 1: column = 1 For i = 1 To 2 For j = 1 To 3

If a(i, j) > a(row, column) Then max = a(i, j) row = i column = j End If Next j Next i

Print \最大元素是\

Print \在第\行,\第\列\ '********** End ************* WWJT max, row, column End Sub

42题目:(事件)单击窗体。

' (响应)在窗体上打印数列2/1,3/2,5/3,8/5,13/8?

' 的前10项,并求其和,将和保存在变量s中

'------------------------------------------------- Private Sub Form_Click()

Dim s As Single

'******** Program *********** Dim i, j, k, m As Integer s = 0 :i = 2:j = 1 For k = 1 To 10 s = s + i / j m = j

Print (CStr(i)) & \ j = i i = i + m Next k

'********* End **************** YZJ (s) End Sub

43题目:(事件)单击窗体。

' (响应)输出斐波那契数列1,1,2,3,5,8,13...第20个 ' 数的值

' 即 f1=1 (n=1) ' f2=1 (n=2)

' fn=f(n-1)+f(n-2)(n≥3)

' 使用for...next语句完成程序,并将结果 ' 存入变量sum中

'------------------------------------------------- Private Sub Form_Click()

Dim sum As Integer, f1 As Integer, f2 As Integer f1 = 1 f2 = 1

'***************** Program ************** dim i as integer for i=1 to 9 f1=f1+f2 f2=f2+f1 next i print f2 sum=f2

'*************** End ************************* Call YZJ(sum) End Sub

44题目:(事件)单击窗体。

' (响应)输出斐波那契数列1,1,2,3,5,8,13...第20个 ' 数的值

' 即 f1=1 (n=1) ' f2=1 (n=2)

' fn=f(n-1)+f(n-2)(n≥3)

' 使用for...next语句完成程序,并将结果 ' 存入变量sum中

'------------------------------------------------- Private Sub Form_Click()

Dim sum As Integer, f1 As Integer, f2 As Integer f1 = 1 f2 = 1

'***************** Program ************** dim i as integer for i=1 to 9 f1=f1+f2 f2=f2+f1 next i print f2 sum=f2

'*************** End ************************* Call YZJ(sum) End Sub

45题目:(事件)单击窗体。

' (响应)输出斐波那契数列1,1,2,3,5,8,13...第20个 ' 数的值

' 即 f1=1 (n=1) ' f2=1 (n=2)

' fn=f(n-1)+f(n-2)(n≥3)

' 使用for...next语句完成程序,并将结果 ' 存入变量sum中

'-------------------------------------------------

Private Sub Form_Click()

Dim sum As Integer, f1 As Integer, f2 As Integer f1 = 1 f2 = 1

'***************** Program ************** dim i as integer for i=1 to 9 f1=f1+f2 f2=f2+f1 next i print f2 sum=f2

'*************** End ************************* Call YZJ(sum) End Sub

46'题目:(事件)单击窗体。

' (响应)一球从100米高度自由落下,每次落地返回 ' 原高度的一半,求第10次落地时,共经过多 ' 少米?并将结果在窗体上输出。

'------------------------------------------------- Private Sub Form_Click() Dim s As Single

'********* Program ************* Dim j,i As Integer s=0 j=100

For i = 2 To 10 j=j / 2 s=s+2*j Next i s=100+s

Print(CStr(s))

'********* End *************** YZJ (s) End Sub

47'-------------------------------------------------

'题目:(事件)单击窗体。

' (响应)编写代码功能如(图1)。

' 将结果存入变量Sum中。使用while...wend语句完成程序

'------------------------------------------------- Private Sub Form_Click() Dim sum As Double

'***************** Program ************** Dim i As Integer sum = 0

For i = 1 To 10 sum = sum + i ^ i Next i

Print (CStr(sum))

'*************** End ************************* Call YZJ(sum) End Sub

48'题目:(事件)单击窗体。

' (响应)求10!的值,并将结果输出到窗体上。 ' 将结果存入变量SUM中

'------------------------------------------------- Private Sub Form_Click() Dim sum As Long

'********* Program ********* Dim i As Integer sum = 1

For i = 1 To 10 sum = sum * i Next i Print sum

'************ End ************ YZJ (sum) End Sub

49'题目:对字符串进行加密处理。

' 加密过程:

' 将每个字母C加一序数K=5,即 c=chr(Asc(c)+5), ' 这时 \→\, \→\,\→\?

' 当加序数后的字母大于\或\则 c=Chr(Asc(c)+k -26)

'-------------------------------------------------

Private Function EnyStr(strI As String) As String

'********** Program ********* Dim i As Integer

Dim strp As String, strT As String, iA As String Dim nl As String i = 1: strp = \

nl = Len(RTrim(strI)) Do While (i <= nl)

strT = Mid$(strI, i, 1)

If (strT >= \Then iA = Asc(strT) + 5

If iA > Asc(\Then iA = iA - 26 strp = strp + Chr$(iA)

ElseIf (strT >= \ iA = Asc(strT) + 5

If iA > Asc(\strp = strp + Chr$(iA) Else

strp = strp + strT

End If i = i + 1 Loop

EnyStr = strp

'********** End *************

End Function

50。'题目:(事件)单击窗体。

' (响应)求出1000-9999之间具有如下特点的四位数字, ' 它的平方根恰好就是它中间的两位数字,例如, ' 2500开平方为50,恰为2500的中间两位,找出 ' 所有这样的四位数。并求出所有这样的数的和 ' 存入SUM中 '

'------------------------------------------------- Dim sum As Integer sum = 0

'******** Program ******* 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 i

'********** End ********** YZJ (sum) End Sub

51'题目:编写函数fun,函数的功能是:当x的初值为10,

'每年增长率为千分之八,计算多少年以后x的值能达到y, '并显示所需年数的值(变量名必须为n)。 '要求使用Do While ... Loop语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间

' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(y As Single) As Long Dim x As Single, n As Long

'**********Program********** x = 10 n = 0

Do While x < y x = x * 1.008 n = n + 1 Loop fun = n

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(15) NJIT_VB End Sub

52'题目::编写函数fun其功能是:判断一个整数w的各位

' 数字平方之和能否被5整除 , 可以被5整除则返 ' 回1 , 否则返回0

'-------------------------------------------------

Private Function fun(w As Integer) As Boolean

'********** Program ********* Dim k As Integer, s As Integer Do

s = s + (w Mod 10) * (w Mod 10) w = Int(w / 10) Loop While w <> 0 If s Mod 5 = 0 Then k = 1 Else

k = 0 End If fun = k

'********** End *************

End Function

Private Sub Form_Load() Show

Print fun(50) WWJT End Sub

53'题目:求二维数组中最大元素及其所在的行和列

' 并将最大值存入变量Max中,将最大值的行位置存入 ' row中,列位置存入变量column中.

'------------------------------------------------- Private Sub Form_Load() Show

Dim a(2, 3) As Integer

Dim max As Integer, row As Integer, column As Integer a(1, 1) = 34: a(1, 2) = 34: a(1, 3) = 43 a(2, 1) = 34: a(2, 2) = 78: a(2, 3) = 12 '********** Program ********* Dim i As Integer, j As Integer

max = a(1, 1): row = 1: column = 1 For i = 1 To 2 For j = 1 To 3

If a(i, j) > a(row, column) Then max = a(i, j) row = i column = j End If Next j Next i

Print \最大元素是\

Print \在第\行,\第\列\

'********** End ************* WWJT max, row, column

End Sub'-----------------------------------------

54'题目:(事件)单击窗体。

' (响应)编写代码功能如(图1)。

' 将结果存入变量Sum中。使用while...wend语句完成程序

'------------------------------------------------- Private Sub Form_Click() Dim sum As Double

'***************** Program ************** 没有图?是求1到100中为5或7的倍数的和

While I mod 5 =0 or I mod 7 =0 I<100 S=s+i Wend Print s

'*************** End ************************* Call YZJ(sum) End Sub

Private Sub YZJ(i As Double)

Dim OUT As Integer OUT = FreeFile

Open App.Path & \ Print #OUT, i Close #OUT

End Sub----------------------------------------------

55'题目:将一个十进制整数m转换成 →r(2-16)进制字符串。

'方法:将m不断除 r 取余数,直到商为零,以反序得到结果。 ' 下面写出一转换函数,参数idec为十进制数,ibase为要转 ' 换成数的基(如二进制的基是2,八进制的基是8等), ' 函数输出结果是字符串

'-------------------------------------------------

Private Function TrDec(idec As Integer, ibase As Integer) As String

'********** Program ********* Dim strDecR$, iDecR% strDecR = \

Do While idec <> 0

iDecR = idec Mod ibase

If iDecR >= 10 Then

strDecR = Chr$(65 + iDecR - 10) & strDecR Else

strDecR = iDecR & strDecR End If

idec = idec \\ ibase Loop

TrDec = strDecR

'********** End *************

End Function

Private Sub Form_Load()

Show

Print TrDec(45, 2) WWJT End Sub

Private Sub WWJT()

'-------------------------------------------------

56'题目:将一个十进制整数m转换成 →r(2-16)进制字符串。

'方法:将m不断除 r 取余数,直到商为零,以反序得到结果。 ' 下面写出一转换函数,参数idec为十进制数,ibase为要转 ' 换成数的基(如二进制的基是2,八进制的基是8等), ' 函数输出结果是字符串

'-------------------------------------------------

Private Function TrDec(idec As Integer, ibase As Integer) As String

'********** Program ********* Dim strDecR$, iDecR% strDecR = \

Do While idec <> 0

iDecR = idec Mod ibase If iDecR >= 10 Then

strDecR = Chr$(65 + iDecR - 10) & strDecR Else

strDecR = iDecR & strDecR

End If

idec = idec \\ ibase Loop

TrDec = strDecR

'********** End *************

End Function

Private Sub Form_Load()

Show

Print TrDec(45, 2) WWJT

End Sub------------------------------------------------

57'题目:编写函数fun其功能是:根据整型形参m,

' 计算如下公式的值:

' y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) ' 例如:若m=9,则应输出:1.168229

'要求:函数中用到的中间变量必须声明为Single类型。

'------------------------------------------------- Private Function Fun(m As Integer) As Single '********** Program ********* Dim y As Double Dim i As Integer For i = 0 To m

y = y + 1 / (i + 5) Next i Fun = y

'********** End ************* End Function

Private Sub Form_Load()

Show

Print Fun(9) WWJT End Sub

计】

58题目:本程序将一个大于100的偶数n分解为两个素数之和,

' 其中nflag逻辑函数用于'判断自然数x是否为素数.

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

Private Sub Form_Click()

Dim n As Integer, x As Integer, y As Integer

n = Val(InputBox(\请输入一个大于100的偶数\输入数据\ For x = 3 To n \\ 2 Step 2

'**********FOUND**********

If x = 0 Then 改成 If nflag(x) Then 或 If nflag(x) = True Then y = n - x

'**********FOUND**********

If nflag(x) Then 改成 If nflag(y) Then 或 If nflag(y) =True Then Form1.Print n; \ Exit For End If End If Next x End Sub

Function nflag(x As Integer) As Boolean Dim flag As Boolean Dim k As Integer Dim m As Integer k = 2: m = Int(Sqr(x)) flag = True

Do While k <= m

'**********FOUND**********

If x Mod k = 0 Then flag = True 改成If x Mod k = 0 Then flag = false k = k + 1 Loop

nflag = flag

End Function------------------------------------

59'题目:(事件)单击窗体。

' (响应)编写代码功能如(图1)。

' 将结果存入变量Sum中。使用while...wend语句完成程序

'------------------------------------------------- Private Sub Form_Click() Dim sum As Double

'***************** Program ************** Dim i As Integer sum = 0

For i = 1 To 10 sum = sum + i ^ i Next i

Print (CStr(sum))

'*************** End ************************* Call YZJ(sum)

End Sub------------------------------------------------

60'题目:编写函数fun其功能是:根据整型形参m,

'计算如下公式的值:

' y=1+1/3+1/5+1/7+...+1/(2m+1) ' 例如:若m=9,则应输出:2.133256

'------------------------------------------------- Private Function fun(m As Integer) As Single Dim y As Double

'********** Program ********* Dim y As Double Dim i As Integer y = 1

For i = 1 To m

y = y + 1 / (2 * i + 1) Next i fun = y

'********** End ************* End Function

Private Sub Form_Load() Show

Print fun(9) WWJT

End Sub-----------------------------------------------

61'题目:编写函数fun,函数的功能是:根据一个百分制

'成绩mark(整数),显示对应五级制的评定。条件如下: 'mark大于等于90显示\优秀\

'mark小于90且大于等于80显示\良好\'mark小于80且大于等于70显示\中等\'mark小于70且大于等于60显示\及格\'mark小于60显示\不及格\'要求使用IF语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(mark As Integer) As String

'**********Program********** If mark>=90 then Fun=优秀

Elself mark >=80 then Fun=良好

Elseif mark>=70 then Fun=中等

Elseif mark>=60 then Fun=及格 Else

Fun=不及格

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(90) NJIT_VB

End Sub-----------------------------------

61'题目:(事件)单击窗体。

' (响应)在窗体上打印数列2/1,3/2,5/3,8/5,13/8?

' 的前10项,并求其和,将和保存在变量s中

'-------------------------------------------------

Private Sub Form_Click() Dim s As Single

'******** Program *********** Dim i, j, k, m As Integer s = 0 :i = 2:j = 1 For k = 1 To 10 s = s + i / j m = j

Print (CStr(i)) & \ j = i i = i + m Next k

'********* End **************** YZJ (s) End Sub

Private Sub YZJ(i As Single) Dim OUT As Integer OUT = FreeFile

Open App.Path & \ Print #OUT, i Close #OUT

End Sub''------------------------------------------------

62

'题目:(事件)双击窗体。

' (响应)求1+5+10+15+??+500的和,并将结果输出到窗体上。 ' 将结果存入变量SUM中

'------------------------------------------------- Private Sub Form_dblClick() Dim sum As Long sum = 1

'******* Program ********** Dim i%

For i = 5 to 500 step 5 Sum = sum + i

Next i Print sum

'******* End ************ YZJ (sum) End Sub

Private Sub YZJ(i As Integer)

Dim OUT As Integer OUT = FreeFile

Open App.Path & \ Print #OUT, i Close #OUT

End Sub-------------------------------------------

63题目:编写函数fun,函数的功能是:求一个 ' 四位数的各位数字的立方和

'------------------------------------------------- Private Function fun(n As Integer) As Long

'********** Program *********

Dim d As Integer, k As Integer, s As Integer While n > 0

d = n Mod 10

s = s + d * d * d n = n / 10 Wend fun = s

'********** End *************

End Function

Private Sub Form_Load()

Show

Print fun(1112) WWJT

End Sub

Private Sub WWJT()

Dim i As Integer Dim s As String Dim l As Integer Dim d As Double Dim a(10) As String Dim fIn As Integer Dim fOut As Integer fIn = FreeFile

Open App.Path & \ fOut = FreeFile

Open App.Path & \ For i = 1 To 10

Line Input #fIn, a(i) l = Val(a(i))

Print #fOut, fun(l) Next

Close #fIn Close #fOut

End Sub

64题目:(事件)单击窗体。

' (响应)求10!的值,并将结果输出到窗体上。 ' 将结果存入变量SUM中

'------------------------------------------------- Private Sub Form_Click() Dim sum As Long

'********* Program ********* Dim i As Integer

sum = 1

For i = 1 To 10 sum = sum * i Next i Print sum

'************ End ************ YZJ (sum)

End Sub

Private Sub YZJ(i As Long)

Dim OUT As Integer OUT = FreeFile

Open App.Path & \ Print #OUT, i Close #OUT

End Sub 65'

'题目:编写函数fun,函数的功能是:判断一个字符是 '字母字符、数字字符还是其他字符,并做相应的显示。 '字母字符显示字符串\字母\'数字字符显示字符串\数字\'其他字符显示字符串\其他\

'要求使用Select Case语句来实现。

'------------------------------------------------- '注意: 请在指定的事件内编写代码 ' 代码只能写在两行标识之间 ' 不得修改已有代码

'保存时不得修改窗体和工程文件的名称及路径,否则后果自负。 '-------------------------------------------------

Private Function fun(n As String) As String

'**********Program**********

If UCase(n) >= \fun = \字母\

ElseIf n >= \fun = \数字\Else

fun = \其他\ End If

'********** End ********** End Function

Private Sub Form_Load() Show

Print fun(\

Print fun(\ Print fun(\ NJIT_VB End Sub

Private Sub NJIT_VB() Dim i As Integer Dim l As Integer

Dim a(10) As String * 1 Dim fIn As Integer Dim fOut As Integer fIn = FreeFile

Open App.Path & \ fOut = FreeFile

Open App.Path & \ For i = 1 To 10

Line Input #fIn, a(i) Print #fOut, fun(a(i)) Next

Close #fIn Close #fOut End Sub

66,题目:编写函数fun,函数的功能是:求1到m ' 之间的偶数之积。

'-------------------------------------------------

Private Function fun(m As Integer) As Double

'********** Program ********* Dim y As Double y = 1

Dim i As Integer For i = 1 To m

If i Mod 2 = 0 Then y = y * i End If Next i fun = y

'********** End *************

End Function

Private Sub Form_Load()

Show

Print fun(100) WWJT

End Sub

Private Sub WWJT()

Dim i As Integer Dim s As String Dim l As Integer Dim d As Double Dim a(10) As String Dim fIn As Integer Dim fOut As Integer fIn = FreeFile

Open App.Path & \ fOut = FreeFile

Open App.Path & \ For i = 1 To 10

Line Input #fIn, a(i) l = Val(a(i))

Print #fOut, fun(l) Next

Close #fIn Close #fOut End Sub

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

Top