- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB常见程序段
VB常见程序段
一、计算类题
1.已知三位数,提取出百位数、十位数和个位数
分析:设三位数以变量x表示,x1、x2、x3分别代表百位数、十位数和个位数
x1 = x \ 100
x2= (x \ 10) Mod 10
x3 = x Mod 10
典型例题:求水仙花数 强化训练P34 综合应用
Dim a1 As Integer, b As Integer, c As Integer, s As Integer, k As Integer
s = 0: k = 0 s代表和,k代表水仙花数的个数
For i = 1 To 100
a1 = a(i) \ 100 求百位数
b = (a(i) \ 10) Mod 10 求十位数
c = a(i) Mod 10 求个位数
If a(i) = a1 ^ 3 + b ^ 3 + c ^ 3 Then
k = k + 1
s = s + a(i)
End If
Next
Text1.Text = CStr(s \ k)
End Sub
2.已知两数m和n,求最大公约数
Do
r=m Mod n
m=n
n=r
Loop Until r=0
m即为所求最大公约数
一般程序 教材P69 函数形式 教材P166
3.随机产生n个在[b1,b2]之间互不相同的值
解:利用一个一维数组存放n个在[b1,b2]之间互不相同的值,用Int(Rnd * (b2-b1+1)+b1)求在[b1,b2]的随机值
For i = 1 To n
a(i) = Int(Rnd * (b2-b1+1)+b1)
For j = 1 To i-1
If a(i) = a(j) Then
i = j
Exit For
End If
Next j
Next i
注:实际程序中b1、b2和n均会给出具体值,直接将值代进程序
4.求满足一定条件的数组元素之和sum和个数n、最大数max、最小数min和平均值ave
分析:设数组元素的数值范围已知[a,b]数组元素的个数为m
Sum=0:n = 0:max = a:min=b:ave=0
For i = 1 To m
If 满足的条件 Then
n = n + 1
Sum=Sum+a(i)
If a(i) max Then
max = a(i)
End If
If a(i) min Then
min= a(i)
End If
End If
Next
Ave=Sum/n
按题目要求显示结果
若题目改为求一维数组所有元素之和sum和个数n、最大数max、最小数min和平均值ave,只需在初始值设置时max=a(1):min=a(1),i的初始值1改为2,并将判断条件If 满足的条件 then 省去即可
二、查找与排序
1.顺序查找:在数组a中查找数num,设数组元素个数为n
Dim num As Integer, i As Integer
num = InputBox(请输入待查找的数)
For i = 1 To n
If a(i) = num Then
Text2.Text = Str(num) + 是数组中的第 + Str(i) + 个值
Exit For
End If
Next i
If i n Then
Text2.Text = Str(num) + 不存在于数组中
End If
2.冒泡排序(升序)
For i=1 to n-1
for j=1 to n-i
if a(j)a(j+1) then 若要降序,则改为a(j)a(j+1)
两数交换
end if
next i
3.选择排序(升序)
for i=1 to n-1
for j=i+1 to n
If a(j)a(i) then 若要降序,则改为a(j)a(i)
两数交换
End If
next j
next i
4.矩阵(二维数组)行或列交换 P37、P141
设N行M列矩阵(二维数组)用Mat(N,M)表示
将第L1行和L2行元素交换
For j = 1 To M
t = Mat(L1, j)
Mat(L1, j) = Mat(L2, j)
Mat(L2, j) = t
Next j
将第C1列和C2列元素交换
For i
文档评论(0)