Nextk
ReDimPreservea(n+1)'数组增加一个元素
Fori=nTokStep-1'数组元素后移一位,腾出位置
a(i+1)=a(i)
Nexti
a(k)=X
Fori=0Ton+1
Printa(i);
Next
EndSub
PrivateSubCommand26_Click()
'26.编写一函数,计算Double类型一维数组所有元素的平均值。
Dima(),n%,s!
a=Array(1,4,7,9,12,23,56)
n=UBound(a)
s=sum1(a())
MsgBox("sum="&s)
MsgBox("avg="&s/n)
EndSub
Functionsum1%(X())
Dimi%
sum1=0
Fori=0ToUBound(X)
sum1=sum1+X(i)
Nexti
EndFunction
PrivateSubCommand27_Click()
'27.用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和.
n=InputBox("INPUT")
s=sum2(n)
MsgBox("SUM2="&s)
EndSub
Functionsum2!
(ByValnAsInteger)
Dimi%
sum2=0
Fori=1Ton
sum2=sum2+1/i
Nexti
EndFunction
PrivateSubCommand28_Click()
'28.编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定
Dima(),n%,min%
a=Array(1,4,7,9,12,-23,56)
n=UBound(a)
Callprocmin(a(),min)
MsgBox("min="&min)
EndSub
Subprocmin(X(),ByRefmin%)
Dimi%
min=X(0)
Fori=1ToUBound(X)
IfX(i)<=minThenmin=X(i)
Nexti
EndSub
PrivateSubCommand29_Click()
'29.编一个函数,求一维数组a中的最大值,函数的形参自己确定。
Dima(),n%,s!
a=Array(1,4,7,9,12,23,56)
n=UBound(a)
s=max(a())
MsgBox("max="&s)
EndSub
Functionmax%(X())
Dimi%
max=X(0)
Fori=1ToUBound(X)
IfX(i)>maxThenmax=X(i)
Nexti
EndFunction
PrivateSubCommand3_Click()
'9.计算100~300之间所有能被3和7整除的数之和
Dimsum%
sum=0
Fori=100To300
IfiMod3=0AndiMod7=0Then
sum=sum+i
PrivateSubCommand30_Click()
'30.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。
调用该过程。
(提示:
只能被1和自身整除的自然数称为素数。
)
Dimi%,sum!
f%
sum=0
Fori=100To1000
Callprocs(i,f)
Iff=1Then
sum=sum+i
EndIf
Nexti
MsgBox("sum="&sum)
EndSub
Subprocs(ByValX%,ByReff%)
Dimi%
f=1
Fori=2ToX-1
IfiModX=0Then
f=0
ExitFor
EndIf
Nexti
EndSub
PrivateSubCommand4_Click()
'10.分别统计1-100中,满足3的倍数、7的倍数的数各有多少
m=0:
n=0
Fori=1To100
IfiMod3=0Then
n=n+1
ElseIfiMod7=0Then
m=m+1
EndIf
Nexti
MsgBox("3的倍数个数="&n)
MsgBox("7的倍数个数="&m)
EndSub
PrivateSubCommand5_Click()
'11.某次歌曲大奖赛,有7个评委。
如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分
Dimsum%,max%,min%
sum=0:
max=0:
min=999
Fori=1To7
X=Val(InputBox("input"))
Ifmax<=XThen
max=X
EndIf
Ifmin>=XThen
min=X
EndIf
sum=sum+X
Nexti
Avg=(sum-max-min)/5
MsgBox("最高分="&max)
MsgBox("最低分="&min)
MsgBox("总和="&sum)
MsgBox("平均分="&Avg)
EndSub
PrivateSubCommand6_Click()
'13.我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。
n=0
X=13
DoWhileX<=26
X=X*1.008
n=n+1
Loop
MsgBox(n)
EndSub
PrivateSubCommand7_Click()
'14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?
X=1
Fori=6To1Step-1
X=(X+1)*2
Nexti
MsgBox(X)
EndSub
PrivateSubCommand8_Click()
'15.求100以内的素数
Fori=1To100
flag=1
Forj=2Toi-1
IfiModj=0Then
flag=0
EndIf
Nextj
Ifflag=1Then
MsgBox(i&"是素数")
EndIf
Nexti
EndSub
PrivateSubCommand9_Click()
'16.百元买百鸡问题。
假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
n=0
ForX=0To33
Fory=0To50
z=100-X-y
If3*X+2*y+0.5*z=100Then
PrintX,y,z
EndIf
Nexty
NextX
EndSub