VB上机试题及答案_精品文档文档格式.doc
- 文档编号:13142885
- 上传时间:2022-10-06
- 格式:DOC
- 页数:19
- 大小:67KB
VB上机试题及答案_精品文档文档格式.doc
《VB上机试题及答案_精品文档文档格式.doc》由会员分享,可在线阅读,更多相关《VB上机试题及答案_精品文档文档格式.doc(19页珍藏版)》请在冰豆网上搜索。
a(j)=t
Fori=1To20
IfiMod10=0ThenPrint
Nexti
EndSub
2.从数组中删除一个数。
先定义一个一维数组,大小、数组的值自定。
从键盘上输入一个数,若这个数在数组当中,就把它删除;
若这个数不在数组中,提示“该数不在数组中”
注意:
1)如果数组中存在多个与该数相同的元素,每一个都能删除;
2)能实现多次删除
ReDima(9)AsInteger
m=1
原来数组为:
Fori=0To9
a(i)=InputBox("
请输入第"
&
m&
"
个数:
)
m=m+1
n=InputBox("
查找的数是:
i=0:
flag=False
Do
Ifa(i)=nThen
j=i:
flag=True
Fork=jToUBound(a)-1
a(k)=a(k+1)
Nextk
ReDimPreservea(UBound(a)-1)
i=i-1
EndIf
i=i+1
LoopWhile(i<
=UBound(a))
Ifflag=FalseThen
MsgBoxn&
不在该数组中"
Else
删除"
n&
后的数组是:
Fori=0ToUBound(a)
Printa(i);
Nexti
3.数组a中存放着升序排列的数据,使用array赋值,将inputbox输入的新数插入到数组中,插入后数组仍有序。
要求利用动态数组,能够实现多次插入
n=8:
ReDima(n)
a=Array(5,15,23,52,68,88,90,99)
n=n+1:
ReDimPreservea(n)
m=InputBox("
请输入要插入的数据:
Fori=1Ton-1
Ifm<
a(i)ThenExitFor
Fork=nToi+1Step-1
a(k)=a(k-1)
Nextk
a(k)=m
Fori=1Ton
Printa(i);
4.6个评委为4位歌手打分,分数介于1-100之间。
去掉一个最高分,一个最低分,求出每位选手的最后得分。
将4位歌手得分从高到低排列输出,同时输出该选手的编号。
如:
歌手395分歌手187分歌手480分歌手270分
OptionBase1
PrivateTypegeshou
xuhaoAsString
fenshu(6)AsInteger
scoreAsInteger
pingjunAsInteger
EndType
Dimsinger(1To4)Asgeshou
PrivateSubCommand1_Click()
Fori=1To4
Forj=1To6
singer(i).fenshu(j)=Int(Rnd*100)
singer(i).xuhao="
歌手"
i
Next
Next
Callpaixu
PrivateSubpaixu()
DimpAsgeshou
Fori=1To4
Forj=1To5
Fork=jTo6
Ifsinger(i).fenshu(j)>
singer(i).fenshu(k)Then
t=singer(i).fenshu(j)
singer(i).fenshu(j)=singer(i).fenshu(k)
singer(i).fenshu(k)=t
EndIf
Next
Next
Forj=2To5
singer(i).score=singer(i).score+singer(i).fenshu(j)
singer(i).pingjun=singer(i).score/4
Fori=1To3
Forj=iTo4
Ifsinger(i).score<
singer(j).scoreThen
p=singer(i):
singer(i)=singer(j):
singer(j)=p
EndIf
Printsinger(i).xuhao&
得分:
singer(i).pingjun
10个评委给10个选手打分
n=UBound(b)
Forj=1To10
a(i,j)=Val(InputBox("
请第"
j&
位评委给第"
i&
位选手打分:
))
Nextj
max=a(i,1):
sum=0
min=a(i,1):
ave=0
Forj=1To10
Ifa(i,j)>
maxThenmax=a(i,j)
Ifa(i,j)<
minThenmin=a(i,j)
sum=sum+a(i,j)
Nextj
ave=(sum-max-min)/(n-2)
b(i)=ave
Forj=i+1Ton
Ifb(i)<
b(j)Then
t=b(i):
b(i)=b(j):
b(j)=t
EndIf
Nextj
选手的得分由高到低为:
Printb(i);
5.编写函数求一元二次方程ax2+bx+c=0的解。
要求考虑方程有两相等实根、两不等实根和两个虚根的情况。
DimaAsSingle,bAsSingle,cAsSingle
DimsAsSingle
a=InputBox("
请输入a"
b=InputBox("
请输入b"
c=InputBox("
请输入c"
s=b^2-4*a*c
Ifs<
0Then
MsgBox("
方程无解"
ElseIfs=0Then
Print-b/2*a
Print((-b)+Sqr(s))/2*a&
"
((-b)-Sqr(s))/2*a
6.任意输入一组字符,统计出大写字母多少个,小写字母多少个,数字多少个?
要求用过程实现。
Calltongji(a,n,m,o)
Print"
数字:
Chr(13)&
小写:
大写:
o
PrivateSubtongji(aAsString,nAsInteger,mAsInteger,pAsInteger)
Fori=1ToLen(a)
IfAsc(Mid(a,i,1))>
47AndAsc(Mid(a,i,1))<
58Then
n=n+1
ElseIfAsc(Mid(a,i,1))>
96AndAsc(Mid(a,i,1))<
123Then
64AndAsc(Mid(a,i,1))<
91Then
p=p+1
EndIf
7.随机产生一个5*5的矩阵,将主对角线和次对角线元素都置为1,并求出矩阵的四周元素之和,显示在列表框中。
Dima(5,5)AsInteger
DimsAsInteger
Fori=1To5
Forj=1To5
Ifi=jOri=6-jThen
a(i,j)=1
Else
a(i,j)=Int(Rnd*1000)
Text1.Text=Text1.Text&
"
a(i,j)
s=s+a(i,j)
Text1.Text=Text1.Text&
vbCrLf&
vbCrLf
List1.AddItem(s)
8.编写一个函数,能将字母按下列规律译成密码:
A<
-->
Za<
z
B<
Yb<
y
即第1个字母与第26个字母互换,第i个字母与第(26-i+1)个字母互换。
在文本框中任意输入一个字符串,调用该函数将密码显示在另一个文本框中。
Dims1AsString
s1=Text1.Text
Text2.Text=co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 上机 试题 答案 精品 文档