(完整word版)计算机二级vb常用算法经典题型代码_第1页
(完整word版)计算机二级vb常用算法经典题型代码_第2页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

1、常用算法经典题型代码1 求 100 200 的偶数的个数及和。Private sub form_click()Dim n%,s&,i%n=0s=0for i=100 to 200 step 2n=n+1 s=s+i next i print 个数是: ”n,和是:”s end sub2. 从键盘输入 2 个正整数,求他们的最大公 约数和最小公倍数Private sub form_click()Dim m%,n%,a&,r%,t%m=val(inputbox( 请输入第一个数 ”) n=val(inputbox( 请输入第二个数 ”)a=m*n r=m mod n do whil

2、e r0 m=nn=r r= m mod nloopprint 最大公约数是:”n,最小公倍 数是 :”;a/nend sub3. 产生 10 个 0 100 的随机整数, 从高到低 排序。(三种方法掌握一种即可)比较法:private sub form_click() Dim a%(1 to 10),i%,t% For i=1 to 10 a(i)=int(rnd*(101) nexti for i=1 to 9for j=i+1 to 10 if a(i)a(j) then t=a(i)a(i)=(j)a(j)=t next jnext iFor i=1 to 10Print a(i);n

3、ext iend sub选择法:private sub form_click() Dim a%(1 to 10),i%,t% For i=1 to 10 a(i)=int(rnd*(101)next ifor i=1 to 9k=ifor j=i+1 to 10if a(k)a(j) then k=j next jt=a(i) a(i)=a(k) a(k)=tnext iFor i=1 to 10Print a(i);next iend sub冒泡法:private sub form_click() Dim a%(1 to 10),i%,t% For i=1 to 10 a(i)=int(rn

4、d*(101)next ifor i=1 to 9for j= 10 to i+1 step -1 if a(j-1)max then max=a(i) if a(i) min henmin=a(i) next iprint “最大值是: ”;max; “最小值是: ”;minend sub5. 求 500600 间能被 3 整除的个数及与和。Private sub form_click()Dim n%,s&,i%n=0s=0for i=500 to 600if i mod 5=0 thenn=n+1s=s+iend ifnext iprint 个数是:”n,和是:”send sub6

5、. 在窗体上输出所有的水仙花数Private sub form_click()Dim i%,j&,k%for i=1 to 9for j=0 to 9for k=0 to 9ifiA3+jA3+kA3=i*100+j*10+k then print i*100+j*10+knext knext jnext i7.输出 1000 2000 间的所有闰年年份。Private sub form_click()Dim i%for i=1000 to 2000if i mod 4=0 and i mod 100 ori mod 400=0 then print i;next iend sub8.

6、输出 100200 间的素数Private sub form_click()Dim i% ,j%for i=100 to 200for j=2 to int(sqr(i)if i mod j=0 then exit fornext jif jint(sqr(i) then print i;next iend sub9.求 1! 2! 3! 4!+5!Private sub form_click()Dim s#,p#s=0for i=1 to 5p=1for j=1 to ip=p*inext js=s+pnext iprint send sub10. 输入一个 3*3 矩阵的元素,交换第 1

7、行和 第3 行的元素,并输出对角线元素之和。 OptionBase 1Private Sub Form_Click()Dim a(3, 3) As Integer, i%, j%, t%, s&s = 0For i = 1 To 3For j = 1 To 3a(i, j) = Val(InputBox( 请输入 a ( & i& ,& j & ) 的值 )Next jNext iPrint 交换前矩阵元素 For i = 1 To 3For j = 1 To 3 Print a(i,j);Next jPrintNext iFor j = 1 To 3

8、t = a(1, j) a(1, j) = a(3, j) a(3, j) =tNext jPrint 交换后矩阵元素 For i = 1 To 3For j = 1 To 3 Print a(i,j);Next jPrintNext iPrint 矩阵对角线元素之和 For i = 1 To 3For j = 1 To 3If i = j Or i + j = 4 Then s = s + a(i, j) NextjNext iPrint s End Sub11.统计文本框中 26 个英文字母出现的次 数,不区分大小写。Private Sub Command1_Click()Dim a(1

9、To 26) As Integer, c$For i = 1 To Len(Text1.Text) c =UCase(Mid(Text1.Text, i, 1) If c = AAnd c = a And s1 = a And s1 = A And s1 = Z Then s2 = s2 +Chr(Asc(s1) + m)End IfNext iText2.Text = s2End Sub14判断是否回文函数 所谓回文是指顺读与倒读都一样的字符串, 如“ rececer”Function foundhuiwen(p As String) foundhuiwen= True k = Len(p)

10、For i = 1 To k / 2If Mid(p, i, 1) Mid(p, k + 1 - i, 1) Thenfoundhuiwen = False Exit ForEnd IfNextEnd Function 如果 foundhuiwen 函数返回值为True,表明字符串 p 为回文,否则表示不是 回文。15.统计某字符出现次数算法思想:对字符串中字符逐一判断,如果是某字符,则统计变量加1。例题:统计文本框 Textl 中字符 i 和 j 出现 的次数(不区分大小写)。Private Sub Comma nd1_Click()s = Text1.Textn = Len(s)For i

11、 = 1 To ns1 = Mid(s, i, 1)If UCase(s1) = T Then ni = ni + 1If UCase(s1) = J The n nj = nj + 1Next iPrint ni, njEnd Sub 16 完数定义:一个数如果正好等于它的因子之和, 这个数就称为完数。 例如,6 的因子为 1、2、3,而 6=1+2+3,因此 6 是 完数”例题:编程找出 1000 以内的所有完数。Private Sub Comma nd1_Click()OutputWa nNu mber 1000End Sub求完数的过程Sub OutputWa nNu mber(ByV

12、al n As In teger)Dim i As In tegerDim j As In tegerDim s As In tegerFor i = 1 To ns = 0For j = 1 To i 2If i Mod j = 0 The n s = s + jNext jIf s = i Then Print i & 是完数Next iEnd Sub 17、数列a 以下数列:1, 1, 2, 3, 5, 8, 13,21,,的规律是从第 3 个数开始,每个数 是它前面两个数之和。Private Sub Comma nd1_Click()Dim a(50) As Lo ngDim

13、f As Longa(1) = 1a(2) = 1For i = 3 To Val(Text1.Text) f = a(i - 2) + a(i - 1)a(i) = fNextText2.Text = fEnd Subb 以下数列:1 , 1, 3, 5, 9, 15, 25,41,,的规律是从第 3 个数开始,每个数 是它前面两个数的和加1。Private Sub Comma nd1_Click()Dim f As Longa(1) = 1a(2) = 1For i = 3 To Val(Text1.Text)f = a(i - 2) + a(i - 1) + 1a(i) = fNextT

14、ext2.Text = fEnd Sub18、排序本算法主要应用于数组。排序算法有 种,其中 冒泡”排序法是较为常见的一种。算法思想:从数组的第一个元素开始, 每一项(i)都与下一个元素(i+1 )进行比 较,如果下一个元素的值较小,就将这两项 的位置交换,从而使值较小的数据项升”到上面(最大数 沉底”),重复这种操作直到 最后一个元素,然后再回到开始进行重复处 理。当整个数组不再出现交换项目时,排序结束。例题:数组 a 种有 5 个元素,每个元素 值分别为 10、8、21、7、5,用冒泡排序法 进行排序。Optio n Base 1Private Sub Comma nd1_Click()

15、arr1 = Array(2,4, 1,5, 3) For i = 5 To 2 Step -1Forj = 1 To i- 1If arr1(j) arr1(j + 1) The nt = arr1(j)arr1(j) = arr1(j + 1) arr1(j + 1) = tEnd If19、求 100 以内的素数。Private Sub Form_Click()Dim i%, j%For i = 2 To 100Forj = 2 To i- 1If i Mod j = 0 Then Exit ForNext jIf j = i Then Print iNext iEnd Sub2、从键盘

16、输入任意长度的字符串,要 求将字符顺序倒置,例如,将输入的“ ABCDEFG!换成 “ GFEDCBA”Private Sub Comma nd1_Click()Dim a$, 1%, c$, d$, n% |a = InputBox$(” 输入字符串)n = Len(a)For I = 1 To Int(n 2)c = Mid(a, I, 1)Mid(a, I, 1) = Mid(a, n - I + 1, 1)Mid(a, n - I + 1, 1) = cNext IPrint aEnd Sub4、输入一年份,判断它是否为闰年, 并显示有关信息。(判断闰年的条件是:年 份能被 4整除但不

17、能被 100 整除,或者能被 400 整除)Private Sub Comma nd1_Click()Dim y%y = InputBox( 请输入年数)If y Mod 4 = 0 And y Mod 100 0Or y Mod 400 = 0 ThenMsgBox (y & ”年是闰年)ElseMsgBox (y & ”年是平年)End IfEnd Sub5、已知 x,y,z 3 个变量中存放了 3 个不同的数,比较它们的大小并进行调整,使得Private Sub Comma nd1_Click()Dim x!, y!, z!x = In putBox(i nputx)y = In putBox(i nputy)z = In putBox(i nputz)Print xy zIf x y The n t=x: x =y:y = tIf x z The n t=x: x = z: z = tIf y z The n t=y:y =z: z = tPrint 排序后;%;;y; ; zEnd Sub10、某次歌曲大奖赛,有 7 个评委。如 果分别输入 7 个评委对某个参赛者的打分 数,按照去掉一个最高分和一个最低分的计 算办法,求出该参赛者的平均

温馨提示

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

评论

0/150

提交评论