Nexti
s=s-max-min
Print"average=";s/18
3随机生成10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:
第1个元素与第10个元素互换,第2个元素与第9个元素互换……分别输出数组原来各元素的值和对换后各元素的值。
PrivateSubCommand1_Click()
Dima(10)AsInteger
DimiAsInteger,jAsInteger
Print"原序列:
"
Fori=1To10
a(i)=Int(Rnd*90)+10
Printa(i);
Nexti
Print
Fori=1To5
t=a(i)
a(i)=a(11-i)
a(11-i)=t
Nexti
Print"交换后的序列:
"
Fori=1To10
Printa(i);
Nexti
Print
EndSub
EndSub
4以下程序的功能是随机生成20个100到200之间的正整数,输出其最大元素和其所在的位置,请按要求完善程序。
PrivateSubCommand1_Click()
Dima(20)AsInteger,iAsInteger
DimmaxAsInteger,maxiAsInteger
Randomize
Fori=1To20
a(i)=int(rnd*101)+100
Printa(i);
Nexti
Print
max=a
(1)
maxi=1
Fori=2To20
Ifa(i)>maxThen
max=a(i)
maxi=i
EndIf
Next
Print"最大元素为";max;"其所在的数组元素位置号为";maxi
EndSub
5在文本框Text1中输入一串字符,判别其是否是回文字符串。
所谓回文字符串是指正读和反读都一样的字符串,比如ABBA、DEAED等就是回文字符串。
PrivateSubCommand1_Click()
DimsAsString,nAsInteger,mAsInteger
s=Text1.Text
n=1
m=Len(s)
DoWhilen<=m
IfMid(s,n,1)=Mid(s,m,1)Then
m=m-1
n=n+1
Else
ExitDo
EndIf
Loop
Ifn>mThen
Text2.Text=Text1.Text&"是回文"
Else
Text2.Text=Text1.Text&"不是回文"
EndIf
EndSub
6设计一个函数,求任意数的阶乘。
编写通用函数过程如下,请补充程序。
PublicFunctionf(nAsDouble)AsDouble
DimsAsDouble
DimiAsInteger
Ifn<0ThenExitFunction
s=1
Fori=1Ton
s=s*I
Nexti
f=s
EndFunction
7下面的程序是找出两个正整数a和b,使a
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
DimmAsInteger,nAsInteger
DimrAsInteger,kAsInteger
Fora=1To49
b=99-a
m=a:
n=b
Do
r=mmodn
m=n
n=r
LoopUntilr=0
IfmMod3=0Then
k=k+1
Printa;b
EndIf
Nexta
Print"符合条件的数对个数为"&k&"个"
EndSub
8下面程序的功能是随机生成20个三位正整数,输出其中的第二大数,按要求完善程序。
PrivateSubForm_Click()
DimiAsInteger,nAsInteger
DimmaxAsInteger,max1AsInteger
n=Int(Rnd*900)+100
__max=n_______
Fori=1To19
n=Int(Rnd*900)+100
Ifn>maxThen
__max1=max_________
max=n
ElseIf__n>max1_____Then
max1=n
EndIf
Nexti
Print"最大数是";max;"第二大数是";max1
EndSub
9运行下面的程序,第二行显示结果是832。
PrivateSubForm_Click()
DimAAsInteger
DimiAsInteger
A=2
Fori=1To9
Callsub1(i,A)
Printi,A
Nexti
EndSub
PrivateSubsub1(xAsInteger,yAsInteger)
StaticNAsInteger
DimIAsInteger
ForI=3To1Step-1
N=N+x
x=x+1
NextI
y=y+N
EndSub
25执行以下程序,单击命令按钮后,如果在弹出的对话框中单击"是"按钮,则窗体上的输出内容是___6____。
PrivateSubCommand1_Click()
DimaAsInteger
a=MsgBox("非法数据!
"&Chr(13)&Chr(10)&"请重新输入",vbYesNo+vbCritical,"提示信息")
Printa
EndSub
26执行以下程序,单击命令按钮后,输出结果是012345678910。
PrivateSubCommand1_Click()
Dima(10)AsInteger
Dimb
Fori=1To10
a(i)=i
Nexti
ForEachbIna
Printb;
Nextb
EndSub
28下列程序段的执行结果为1822。
j=0:
n=5(0+1)*(0+2)=2
Do(2+1)*(2+2)=12
j=(j+1)*(j+2)(12+1)*(12+2)=182
n=n-1
LoopUntiln<3
Printj;n
29执行下面的程序段,文本框Text1中显示的是9。
DimiAsInteger,jAsInteger
i=1
DoWhilei<20
j=i+j
i=i*(i+1)
Loop
Text1.Text=j(1+2+6=9)
30下列程序的执行结果为___10___。
PrivateSubCommand1_Click()
Dima(10)AsInteger
DimiAsInteger
Fori=1To10
a(i)=i
Nexti
Callf(a(5))
Printa(5)
EndSub
PrivateSubf(nAsInteger)
n=n+5
EndSub
34执行下列程序,单击命令按钮在窗体上输出结果为__5_6_3__。
OptionBase1
PrivateSubCommand1_Click()
Dima(3,3)AsInteger,kAsInteger
DimiAsInteger,jAsInteger,nAsInteger
n=UBound(a,1)
Fori=1Ton-2
Forj=iTon-i
a(i,j)=k+1
a(j,n+1-i)=k+2
a(n+1-i,n+1-j)=k+3
a(n+1-j,i)=k+4
k=k+4
Nextj
Nexti
IfnMod2<>0Then
a((n+1)/2,(n+1)/2)=k+1
EndIf
Printa(1,2);a(2,3);a(3,3)
EndSub
35运行如下程序后,输出结果为19。
Form=1To4
a=0
Forj=1To5
a=1
Fork=1To6
a=a+3
Nextk
Nextj
Nextm
Printa
36阅读下面程序,当单击窗体后,窗体上输出的是1274。
PrivateSubForm_Click()
DimiAsInteger,jAsInteger
DimkAsInteger
Fori=1To10Step3
Forj=1To10Step2
Ifj>=5Theni=i+4:
ExitFor
j=j+1
k=k+1
Nextj
Ifi>8ThenExitFor
Nexti
Printi;j;k
EndSub
37下列程序段的执行结果为___1224___。
n=0
Fori=1To3
Forj=5ToiStep-1
n=n+1
Nextj
Nexti
Printn;j;i
43阅读下面程序,当单击窗体后,窗体上输出的是17133。
PrivateSubForm_Click()
DimiAsInteger,kAsInteger
DimaAsInteger,bAsInteger
a=5:
b=1
Fori=1Toa+bStepb
i=i+1
a=a+i
b=b+i
k=k+1
Nexti
Printa;b;k
EndSub
38下列程序的执行结果为3520。
PrivateSubForm_Click()
DimMAsInteger,NAsInteger
M=15:
N=20
Calltry(M,N)
PrintM;N
EndSub
Subtry(xAsInteger,ByvalyAsInteger)
x=x+20
y=x+y
EndSub
39执行以下程序,单击命令按钮后,如果从键盘上输入5,则第一行输出结果是12345,第二行输出结果是00000000000。
PrivateSubCommand1_Click()
Dima()AsInteger
DimnAsInteger,iAsInteger
n=InputBox("inputn:
")
ReDima(n)
Fori=1Ton
a(i)=i
Printa(i);
Nexti
Print
ReDima(10)
Fori=0To10
Printa(i);
Nexti
EndSub
40运行下列程序,单击命令按钮后,在窗体上输出结果为91215。
OptionBase1
PrivateSubCommand1_Click()
Dima(3,3),s(3)
Dimx,i%
Fori=1To3
s(i)=0
Forj=1To3
a(i,j)=i+j
s(i)=s(i)+a(i,j)
Nextj
Nexti
ForEachxIns
Printx;
Nextx
EndSub
44下面程序段中,在窗体上显示的结果为____5___15______。
PrivateSubCommand1_Click()
DimbAsInteger,kAsInteger
b=1
Fork=1To5
b=b*k
Ifb>=15Then
ExitFor
Else
k=k+1
EndIf
Nextk
Printk,b
EndSub
44运行如下程序后,输出结果为__21_27___。
DimiAsInteger,yAsInteger
Fori=3To15Step3
y=y+i
i=i+3
Nexti
Printi;y
45在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串:
MicrosoftVisualBasicProgramming
然后编写如下事件过程:
PrivateSubCommand1_Click()
Open"D:
\Temp\Outf.Txt"ForOutputAs#1
ForI=1ToLen(Text1.Text)
C=Mid(Text1.Text,I,1)
IfC>="A"AndC<="Z"Then
Print#1,Lcase(C);
EndIf
NextI
Close
EndSub
程序运行后,单击命令按钮后,文件Outf.Txt中的内容是___mvbp____。
42执行以下程序,单击命令按钮后在窗体上的输出内容是__2_0_0___。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=2
c=b=a
Printa,b,c
EndSub
43运行如下程序后,输出结果为__30____。
a=0
Forj=1To30Step2
a=a+jmod5
Nextj
Printa
45运行下面的程序,第二行显示结果是__23456___。
PrivateSubCommand1_Click()
Dima(5)AsInteger
Fori=1To5
a(i)=i
Printa(i);
Nexti
Print
fa
Fori=1To5
Printa(i);
Nexti
EndSub
PrivateFunctionf(b()AsInteger)
Fori=LBound(b)ToUBound(b)
b(i)=b(i)+1
Nexti
EndFunction
不会的选择题部分
34下列程序段的执行结果为113。
DimM(10),N(10)
i=3
Forj=1To5
M(j)=j
N(i)=2*i+j
Nextj
PrintN(i);M(i)
37下面程序运行后,单击command1后屏幕显示是25 7 。
PrivateSubcommand1_click()
Fori=1To4
Ifi>3ThenExitFor
Nexti
Forj=1To6
i=i+j
Nextj
Printi,j
EndSub
38运行如下程序后,输出结果为__21_27___。
DimiAsInteger,yAsInteger
Fori=3To15Step3
y=y+i
i=i+3
Nexti
Printi;y
39运行如下程序后,输出结果为__30____。
a=0
Forj=1To30Step2
a=a+jmod5
Nextj
Printa
40运行下面的程序,当单击窗体时,窗体上显示的内容为___31_63______。
PrivateSubTest(xAsInteger)
x=x*2+1
Ifx<8Then
CallTest(x)
EndIf
x=x*2+1
Printx;
EndSub
PrivateSubForm_Click()
Test3
EndSub
41运行下面的程序,第二行显示结果是_23456__。
PrivateSubCommand1_Click()
Dima(5)AsInteger
Fori=1To5
a(i)=i
Printa(i);
Nexti
Print
fa
Fori=1To5
Printa(i);
Nexti
EndSub
PrivateFunctionf(b()AsInteger)
Fori=LBound(b)ToUBound(b)
b(i)=b(i)+1
Nexti
EndFunction
42运行下列程序,单击命令按钮后,在窗体上输出结果为_91215___。
OptionBase1
PrivateSubCommand1_Click()
Dima(3,3),s(3)
Dimx,i%
Fori=1To3
s(i)=0
Forj=1To3
a(i,j)=i+j
s(i)=s(i)+a(i,j)
Nextj
Nexti
ForEachxIns
Printx;
Nextx
EndSub