vb算法大全
⑴ vb涓璁$畻1+2+3+.+100镄勭畻娉曟槸浠涔
瑙o细绠楁硶锛
绗涓姝ワ细杈揿叆x=1
绗浜屾ワ细璁$畻1+2
绗涓夋ワ细璁$畻1+2+3
.銆伞伞伞伞伞伞伞伞
銆伞伞伞伞伞伞
娴佺▼锲撅细
寮濮
s=0,i=1
i<=100
杈揿叆涓涓狈
绱锷爏=s+n
璁℃暟涓娆★细I= I+1
杈揿嚭s
缁撴潫
娉锛氩浘涓链変袱𨱒$嚎娌℃湁鐢伙纴浣犲彲浠ヨ嚜宸辫ˉ涓婄殑
绠楁硶璇鍙ワ细VB
Private Sub Form_Click()
Dim s As Single, n As Integer, i As Integer
s = 0
n = Val(InputBox("杈揿叆n:"))
For i = 1 To n
s = s + 1
Next i
Print s
End Sub
⑵ VB阶乘的算法
求阶乘的两种算法
方法一(计数循环)
使用For语句。
Function Factorial(n As Integer) As Long
On Error GoTo Hander
Dim i As Long
Factorial = 1
For i = n To 1 Step -1
Factorial = Factorial * i
Next i
Exit Function
Hander:
MsgBox "数值过大!", vbExclamation, "Error"
Resume Next
End Function
方法二(递归)
简单地说,递归就是一个过程调用过程本身。
思路为:n! = n * (n-1)!
Function Factorial(n As Integer) As Long
On Error Goto Hander
If n > 0 Then
Factorial = n * Factorial(n - 1)
Else
Factorial = 1
End If
Exit Sub
Hander:
Msgbox "数值过大!",vbExclamation,"Error"
Resume Next
End Function
例如,当 n=5 时,求 Factorial(5) 的值变为 5 * Factorial(4)。而 Factorial(4) 又可变为 4 * Factorial(3) ......,Factorial(2)又可变为 2 * Factorial(1),这时 Factorial(1) = 1 已知,递归调用停止,其执行结果为 5 * 4 * 3 * 2 * 1,即 5! 。
过程中还是用了错误陷阱(On Error...),以防数值过大发生溢出错误。
⑶ vb三种基本排序算法
三种基本排序算法(与哪种编程语言无关):
冒泡排序算法、选择排序算法、插入排序算法
⑷ 濡备綍鐢╒B瀹炵幇闀挎柟褰㈤溃绉璁$畻锛
涓銆佹暟瀛︾煡璇嗭细
闀挎柟褰㈢殑闱㈢НS=a*b
闀挎柟褰㈠懆闀縇=2*锛坅+b锛
鍏朵腑a b鍒嗗埆涓洪暱鏂瑰舰镄勫藉拰楂樸
浜屻佺畻娉曞垎鏋愶细
闀挎柟褰㈤溃绉鍙婂懆闀垮潎渚濊禆浜庡藉拰楂桡纴镓浠ュ厛瑕佽緭鍏ュ介珮鍊硷纴铹跺悗镙规嵁鍏寮忚$畻锛岃緭鍑虹粨鏋滃嵆鍙銆
涓夈佸弬钥冧唬镰侊细
#include<stdio.h>
voidmain()
{
doublea,b;
doubleL,S;
scanf("%lf%lf",&a,&b);//杈揿叆瀹藉拰楂樸
L=2*(a+b);//璁$畻锻ㄩ暱銆
S=a*b;//璁$畻闱㈢Н銆
printf("闱㈢Н=%lf,锻ㄩ暱=%lf ",S,L);//杈揿嚭缁撴灉銆
}
锲涖佹敞镒忎簨椤癸细
锲犱负娌℃湁闄愬埗杈揿叆涓烘暣鍨嬶纴镓浠ヤ娇鐢ㄦ诞镣瑰瀷鐢ㄦ潵瀛桦偍钖勯”鍊笺傝緭鍏ヨ緭鍑鸿佺敤%lf銆
⑸ VB算法问题,一个堆数字中凑出指定数字
数据20-30个,这个高效与低效,运行时间应该差不了多少吧!
我给个简单的算法:
1,将这些数据读入一个数组a()
2,对数组内的数据进行升序排序
3,依次从数组中取一个数与其他数进行求和
1)先算两个数之和100的。从a(0)开始,当a(i)>50时,即可跳出循环,开始进行三个数之和是100的计算
2)当a(i)>34时,跳出循环,进行四个数之和是100的计算
3)当a(i)>25时,跳出循环,进行五个数之和是100的计算
依次类推