Nextj
'**********SPACE**********
If【?
】Then
min=a(i):
a(i)=a(t):
a(t)=min
EndIf
Nexti
Fori=1Ton
Printa(i);
Nexti
EndSub
8、功能:
下面的程序段用于实现以下功能:
利用冒泡法将一组整数从小到大排序。
PrivateSubForm_Click()
Constn=15
Dima(1Ton)AsInteger,workAsBoolean
DimiAsInteger,jAsInteger,xAsInteger
Randomize
Fori=1Ton
a(i)=Int(90*Rnd)+10
Nexti
Fori=1Ton
Printa(i);
Nexti
Print
'**********SPACE**********
Fori=nTo2【?
】
work=True
Forj=1Toi-1
Ifa(j)>a(j+1)Then
x=a(j):
a(j)=a(j+1):
a(j+1)=x
'**********SPACE**********
【?
】
EndIf
Nextj
'**********SPACE**********
IfworkThen【?
】
Nexti
Fori=1Ton
Printa(i);
Nexti
EndSub
9、功能:
以下程序的功能如(图1)。
PrivateSubForm_Click()
DimsAsSingle,mAsInteger,p#
s=1
Form=1To10
'**********SPACE**********
p=【?
】
s=s+1/p
Nextm
Prints
EndSub
Functionn(k%)
p=1
Form=1Tok
'**********SPACE**********
p=【?
】
Nextm
'**********SPACE**********
【?
】
EndFunction
10、功能:
从键盘输入学生分数,统计学生总人数和各分数段人数,即优秀(90-100)、良好(80-89)、中等(70-79)、及格(60-69)、不及格(60以下)的人数。
PrivateSubForm_Click()
Dimscore%,n1%,n2%,n3%,n4%,n5%
msg="请输入分数(-1结束)"
msgtitile="输入数据"
score=Val(InputBox(msg,msgtitle))
'**********SPACE**********
While【?
】
total=total+1
'**********SPACE**********
SelectCase【?
】
CaseIs>=90
n1=n1+1
CaseIs>=80
n2=n2+1
CaseIs>=70
n3=n3+1
CaseIs>=60
n4=n4+1
CaseElse
n5=n5+1
'**********SPACE**********
【?
】
score=Val(InputBox(msg,msgtitle))
Wend
Printn1,n2,n3,n4,n5,total
EndSub
11、功能:
以下程序段用于实现:
输入两个正整数m和n,求其最大公因数和最小公倍数。
PrivateSubForm_Click()
Dima%,b%,num1%,num2%,temp
num1=InputBox("请输入一个正整数")
num2=InputBox("请输入一个正整数")
'**********SPACE**********
If【?
】Then
temp=num1:
num1=num2:
num2=temp
EndIf
a=num1
b=num2
'**********SPACE**********
DoWhile【?
】
temp=aModb
a=b
'**********SPACE**********
【?
】
Loop
Print"最大公因数为:
";a
Print"最小公倍数为:
";num1*num2/a
EndSub
12、功能:
利用下面的过程求m!
和m*n
PrivateSubForm_Click()
DimmAsInteger,nAsInteger
m=2
n=3
'**********SPACE**********
【?
】
EndSub
PrivateSubfind(xAsInteger,yAsInteger)
Dims,iAsInteger
'**********SPACE**********
【?
】
Fori=1Tox
s=s*i
'**********SPACE**********
p=【?
】
Nexti
Prints,p
EndSub
13、功能:
以下程序段用于求∑n!
PrivateSubForm_Click()
DimsumAsInteger,nAsInteger
n=InputBox("请输入一个正整数")
sum=0
Fori=1Ton
'**********SPACE**********
sum=【?
】
Nexti
Printsum
EndSub
PrivateFunctionmul(ByValxAsInteger)
DimsAsInteger,iAsInteger
s=1
'**********SPACE**********
Fori=1To【?
】
s=s*i
Nexti
'**********SPACE**********
【?
】
EndFunction
14、功能:
从键盘上输入一串字符,以"?
"结束,统计输入字符中的大、小写字母和数字的个数。
PrivateSubForm_Click()
Dimch$,n1%,n2%,n3%
n1=0
n2=0
n3=0
ch=InputBox("请输入一个字符")
'**********SPACE**********
DoWhile【?
】
SelectCasech
Case"a"To"z"
n1=n1+1
'**********SPACE**********
Case【?
】
n2=n2+1
Case"0"To"9"
n3=n3+1
EndSelect
ch=InputBox("请输入一个字符")
'**********SPACE**********
【?
】
Printn1,n2,n3
EndSub
15、功能:
下面的程序实现:
从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍保持有序。
PrivateSubForm_Click()
Dima(10)AsInteger,xAsInteger
Fori=1To8
a(i)=2*i-1
Printa(i);
Nexti
Print
x=InputBox("请输入要插入的整数")
'**********SPACE**********
【?
】
i=8
DoWhilea(i)>x
'**********SPACE**********
【?
】
i=i-1
Loop
'**********SPACE**********
Ifi>0Then【?
】
Fori=1To9
Printa(i);
Nexti
EndSub
16、功能:
过程suixian可以判断某一个数字是否是水仙花数,利用该过程找出三位数中所有水仙花数。
所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。
PrivateSubForm_Click()
DimiAsInteger
Fori=100To999
'**********SPACE**********
【?
】
Nexti
EndSub
PublicSubsuixian(xAsInteger)
Dimi%,j%,k%
'**********SPACE**********
i=【?
】
j=(x-i*100)\10
k=x-i*100-j*10
'**********SPACE**********
If【?
】ThenPrintx
EndSub
17、功能:
输入一个数,若大于0,则显示"+";若小于0,则显示"-";若等于"0",则显示"零"。
PrivateSubCommand1_Click()
x=Val(Text1.Text)
SelectCasex
'**********SPACE**********
【?
】
Label1.Caption="+"
CaseIs<0
'**********SPACE**********
【?
】
'**********SPACE**********
【?
】
Label1.Caption="零"
EndSelect
EndSub
18、功能:
以下程序段用于计算数组中各元素的乘积。
PrivateSubCommand1_Click()
'**********SPACE**********
Dima(1To5)【?
】,b%(2To10),i%,t1#,t2#
Fori=1To5
a(i)=i
Nexti
Fori=2To10
b(i)=i
Nexti
t1=tim(a())
t2=tim(b())
Print"t1=";t1,"t2=";t2
EndSub
'**********SPACE**********
Functiontim(【?
】AsInteger)
Dimt#,i%
t=1
Fori=LBound(a)ToUBound(a)
t=t*a(i)
Nexti
tim=t
EndFunction
19、功能:
本程序功能为,单击窗体,Form1的输出结果为
'A1=10B1=20
'A2=20B2=10
'**********SPACE**********
PublicSubSwap1【?
】xAsInteger,ByValyAsInteger)
DimtAsInteger
t=x
x=y
y=t
EndSub
PublicSubSwap2(xAsInteger,yAsInteger)
DimtAsInteger
t=x
x=y
y=t
EndSub
PrivateSubForm_Click()
DimaAsInteger,bAsInteger
a=10
b=20
'**********SPACE**********
【?
】a,b
Form1.Print"A1=";a,"B1=";b
a=10
b=20
'**********SPACE**********
【?
】a,b
Form1.Print"A2=";a,"B2=";b
EndSub
20、功能:
求表达式s=x/2!
+x^3/4!
+...+x^(2n-1)/(2n)!
的值,并在窗体上输出。
PrivateSubForm_Click()
DimxAsSingle
DimnAsInteger
DimsumAsSingle
x=Val(InputBox("PleaseinputxValue:
"))
n=Val(InputBox("Pleaseinputainteger:
"))
'**********SPACE**********
sum=【?
】
Print"s=";sum
EndSub
Functions(nAsInteger,xAsSingle)AsSingle
DimiAsSingle,tAsLong
s=0
Fori=1Ton
t=1
Forj=1To2*i
'**********SPACE**********
【?
】
Nextj
'**********SPACE**********
s=s+x^(【?
】)/t
Nexti
EndFunction
21、功能:
写出程序运行后,单击窗体,Form1上显示的内容sum函数的功能为累加求和
'isum=1
'isum=3
'isum=6
'isum=10
'isum=15
PrivateSubForm_Click()
DimIAsInteger,isumAsInteger
'**********SPACE**********
ForI=1To【?
】
isum=sum(I)
'**********SPACE**********
Form1.Print"isum="【?
】
NextI
EndSub
PrivateFunctionsum(nAsInteger)
StaticjAsInteger
'**********SPACE**********
【?
】j+n
sum=j
EndFunction
22、功能:
程序输出结果为:
n=3x=42y=9
PrivateSubCommand1_Click()
Dimn,x,yAsInteger
'**********SPACE**********
n=0: