VB相关算法大全(p7).doc_第1页
VB相关算法大全(p7).doc_第2页
VB相关算法大全(p7).doc_第3页
VB相关算法大全(p7).doc_第4页
VB相关算法大全(p7).doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

计数与求和 求数组最大值fmax = x(1) : For i = 2 To n : If x(i) fmax Then fmax = x(i) : Next i输入数组For i = 1 To m : a(i) = InputBox(a( + Str(i) + )=) : Next i输出数组(每行n个)For i = 1 To m Print a(i); if i mod n =0 then printNext i随机数产生N,M范围内数组For i = 1 To m a(i) = int(rnd*(M-N+1)+NNext i数组元素倒置For i =1 To n2 t=A(i) : A(i)=A(n-i+1) : A(n-i+1)=tNext I在数组中查找数1.原始算法For i = 1 To n : If x = a(i) Then j = I : Next i2.变种1 For i = 1 To 8 : If x = a(i) Then Exit For : Next i在数组中删除特定的数For i = 1 To 8 :If x = a(i) Then j = I :Next iFor i = j To 7 : a(i) = a(i + 1) : Next i求两个整数的最大公约数、最小公倍数1原始程序Dim n%,m%,nm%,r%m=Val(InputBox(m=) :n=Val(InputBox(n=) : nm=n*mIf mn Then t=m: m=n: n=t : r=m mod n Do While (r 0) m=n : n=r : r= m mod n LoopPrint 最大公约数=, n : Print 最小公倍数=, nm/n 2变种1Dim n%,m%,nm%,r% :m=Val(InputBox(m=)n=Val(InputBox(n=) : nm=n*m : r=m mod n Do While (r 0) m=n : n=r : r= m mod n LoopPrint 最大公约数=, n :Print 最小公倍数=, nm/n3变种2Dim n%,m%,nm%,r%m=Val(InputBox(m=) : n=Val(InputBox(n=) : nm=n*mIf mn Then t=m: m=n: n=t Do While (r 0) r= m mod n : m=n : n=r LoopPrint 最大公约数=, m : Print 最小公倍数=, nm/m判断素数及验证哥德巴赫猜想1判断N是否是素数For i= 2 To Int(Sqr(n) If n Mod i = 0 Then Exit ForNext iIf i Int(Sqr(n) Then Print n; 是素数Else Print n; 不是素数End If 2. 判断N是否是素数(变种1)flag=0For i= 2 To Int(Sqr(n) If n Mod i = 0 Then flag =1 :Exit ForNext iIf flag =0 Then Print n; 是素数Else Print n; 不是素数End If 3. 哥德巴赫猜想Dim N%, N1%, N2%, I%, K1%, K2% N=Val(InputBox(输入大于6的偶数) For N1 = 3 To N 2 Step 2 K1 = Int(Sqr(N1) For I = 2 To K1 判断N1是否是素数 If N1 Mod I = 0 Then Exit For Next I If I K1 Then 如果N1为素数,将N分解为N1+N2 N2 = N - N1 K2 = Int(Sqr(N2) For I = 2 To K2 判断N2是否是素数 If N2 Mod I = 0 Then Exit For Next I If I K2 Then 如果N2也为素数,则打印输出 Print N & = & N1 & + & N2 End If End If Next N1冒泡法排序(n个数排序)For j = 1 To n-1 For i = 1 To n - j If a(i) a(i + 1) Then temp = a(i): a(i) = a(i + 1): a(i + 1) = temp Next iNext j选择法排序(n个数排序)1.原始代码For j = 1 To n-1 p = j For i = j + 1 To n If a(p) a(i) Then p = i Next iIf (p j) Then temp= a(j): a(j) = a(p): a(p) = tempNext j2变种1For i = 1 To n-1 For j=i+1 to n If a(i) a(j) Then temp= a(j): a(j) = a(i): a(i) = temp End If Next j Form1.Print a(i)Next iForm1.print a(n)数进制的转换(公用进制转换,将n转换成k进制)1Dim n As Integer, k As Integer, x As String Dim m As Integer, t As Integer n = Inputbox(“n=): k = Inputbox(“k=) x= : m = n : n = Abs(n) Do While n 0 t = n Mod k If k=16 And t9 Then x = Chr(Asc(a)+t-10) + x Else x = t & x n = n k Loop If m 0矩阵的转置 1 M* M方阵For i = 2 To For j = 1 To I-1 Temp=a(i,j) a(i, j) = a(j, i) a(j, i)=Temp Next j Next i 2M*N的矩阵For i = To For j = To N b(j,i) = a(i,j) Next jNext i 约瑟夫问题有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报道三的人退出圈子,问最后留下得是原来第几号的哪位 ? d=0:i=0 m已经退出的人数 d 报的数1-3 i 第几个人do until m=n-1 i=i+1if in then i=1 if x(i)=0 then d=d+1 if d=3 then x(i)=1 m=m+1 d=0 end if end if loop for i=1 to n if x(i)=0 then exit for next msgbox 编号 & i2 变种1(书上3-21)np = 1: num = 0: jg = 2Dom(np) = m(np) + 1np = np + 1num = num + 1 If np 11 Then np = np - 11 If jg = 2 Then jg = 3 Else jg = 2 For i = 1 To 11 If m(i) = 0 Then Exit For Next iLoop While i = 0 and keyascii = Asc(9) Then k=0 End Sub2变种:在Text1不允许输入小写字母Private Sub Text1_KeyPress(keyascii As Integer) If (Chr(keyascii) = a and Chr(keyascii) = z) Then k=0 End SubText1内容加入列表框list1的第一项list1.additem Text1.Text,0Text1.Text = Text1.SetFocus时钟与跑表注意:这种题目一般都有一个模块级变量或者静态变量n = n + 1 n即为模块级变量或者静态变量hh = n 3600mm = n 60 Mod 60 还有其他写法ss = n Mod 60变种:n为百分之一秒n = n + 1 n即为模块级变量或者静态变量hh = n 100 3600mm = n100 60 Mod 60ss = n100 Mod 60两个图片框图片复制;将Picture1里的图片复制到Picture2For i = 1 To Picture1.ScaleWidth For j = 1 To Picture1.ScaleHeight c = Picture1.Point(i, j) c长整型 x = Picture2.ScaleWidth / Picture1.ScaleWidth * i y = Picture2.ScaleHeight / Picture1.ScaleHeight * j Picture2.PSet (x, y), c Next jNext i画sin 曲线Form1.Scale (-500, 500)-(500, -500)For x = 1 To 1000PSet (x, 100 * Sin(x * 3.1415926 / 180)Next x闰年判断 : y mod 4 =0 and y mod 1000 or y mod 400 =0K 是小写字母判断 : K = a And K = A And K = 0 And K = 9K 是回车判断 K = Chr(13)交换a,b c = a: a = b: b = c-3x3判断表达式 -3x and x3a,b之间的随机整数公式是 Int(Rnd*(b-a+1)+a格式打印Print 123, 888, -456, 3.14 Print 123; 888; -456; 3.14Print 123; 888; abc, True;Print 123, 888; -456; 3.14PrintPrint 123, 888, -456, 3.14字符串运算符+与& 特别是+100 + 123 结果为 223100 + 123 结果为 100123Abc + 123 出错(经常出题)100 & 123 结果为 100123100 & 123 结果为 100123Abc & 123

温馨提示

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

评论

0/150

提交评论