资源描述:
《程序设计基础——Visual Basic学习与实验指导 教学课件 作者 陈丽芳习题答案 第9章实验答案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验9-1随机产生20个学生的成绩,统计各分数段的人数。即0~59,60~69,70~79,80~89,90~100,并显示结果。产生的数据在Picture1中显示,统计结果在Picture2中显示,如图9-6所示。图9-6程序运行界面Dimmark(19)AsIntegerPrivateSubCommand1_Click()Dimi%Picture1.ClsFori=0To19mark(i)=Int(Rnd*101)IfiMod5=0ThenPicture1.PrintPicture1.Printmark(i)
2、&Space(2);NextiEndSubPrivateSubCommand2_Click()Dims(5To9)AsIntegerRandomizePicture2.ClsFori=0To19k=mark(i)10SelectCasekCase0To5'0~59分的人数s(5)=s(5)+1Case9To10'90~100分的人数s(9)=s(9)+1Case6To8'存放其他3个分数段的人数,根据k对应获得s(k)=s(k)+1EndSelectNextiFori=5To9Picture2.Print"s(
3、";i;")的人数有";s(i);"个"NextiEndSub实验9-2随机生成10个2位数整数,然后按照从小到大的顺序排列,并显示排列结果(运行界面如图9-7所示)。PrivateSubCommand1_Click()Dima(10)AsIntegerRandomizeDimi%,j%,t%Picture1.Print"随机生成的数:"Fori=0To9a(i)=Int(Rnd*90+10)NextiFori=0To9Picture1.Printa(i);Spc(2);If(i+1)Mod5=0ThenPict
4、ure1.PrintNextiPicture1.PrintPicture1.Print"排序后的数据显示如下:"Fori=0To8Forj=0To8-iIfa(j)>a(j+1)Thent=a(j):a(j)=a(j+1):a(j+1)=tEndIfNextjNextiFori=0To9Picture1.Printa(i);Spc(2);If(i+1)Mod5=0ThenPicture1.PrintNextiEndSub实验9-3找一个n´m的二维数组的“鞍点”。“鞍点”是指它在本行中数值最大,在本列中数值最小。
5、也可能在一个数组中找不到鞍点。输出鞍点的行、列号,如无鞍点则输出“无鞍点”。这里假设n=4,m=4,数组各元素的值为45、46、34、12、56、75、78、47、12、94、56、30、77、57、79、80。PrivateSubForm_Click()DimnAsInteger,mAsInteger,sAsIntegerDima()AsSingle,sumAsSinglen=InputBox("输入n")m=InputBox("输入m")ReDima(n,m)ForI=1TonForj=1Toma(I,j)=
6、InputBox("a("&I&","&j&")=")Printa(I,j);NextjPrintNextIPrint"Num","Row","Column"ForI=1Tonbig=a(I,1)Forj=1TomIfbig<=a(I,j)Thenbig=a(I,j):col=jNextjflag=TrueFork=1TonIfbig>a(k,col)Thenflag=FalseNextkIfflag=TrueThens=s+1Printbig,I,col's为鞍点个数EndIfNextIIfs=0ThenPri
7、nt"无鞍点"EndSub实验9-4编程实现把十进制数转换为二、八、十六进制数。OptionBase0PrivateSubCommand1_Click()DimiAsInteger,dAsInteger,b(15)AsString,sAsString,mAsString,rAsInteger,cAsIntegerm="0123456789ABCDEF"d=Val(Text1.Text)r=Val(Text3.Text)DoUntild=0c=dModrb(i)=Mid(m,c+1,1)d=dri=i+1Loop
8、DoWhilei>0i=i-1s=s&b(i)LoopText2.Text=sEndSubOptionBase0DimAAsIntegerPrivateSubCommand1_Click()DimiAsInteger,dAsInteger,b(15)AsString,sAsString,mAsString,rAsInteger,cAsIntegerm="012345678