上机试题与答案Word下载.docx

上传人:b****5 文档编号:19060937 上传时间:2023-01-03 格式:DOCX 页数:27 大小:28.39KB
下载 相关 举报
上机试题与答案Word下载.docx_第1页
第1页 / 共27页
上机试题与答案Word下载.docx_第2页
第2页 / 共27页
上机试题与答案Word下载.docx_第3页
第3页 / 共27页
上机试题与答案Word下载.docx_第4页
第4页 / 共27页
上机试题与答案Word下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

上机试题与答案Word下载.docx

《上机试题与答案Word下载.docx》由会员分享,可在线阅读,更多相关《上机试题与答案Word下载.docx(27页珍藏版)》请在冰豆网上搜索。

上机试题与答案Word下载.docx

&

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)

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

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

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

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

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

选手的得分由高到低为:

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

7.随机产生一个5*5的矩阵,将主对角线和次对角线元素都置为1,并求出矩阵的四周元素之和,显示在列表框中。

Dima(5,5)AsInteger

DimsAsInteger

Fori=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)

vbCrLf&

vbCrLf

List1.AddItem(s)

8.编写一个函数,能将字母按下列规律译成密码:

A<

-->

Za<

z

B<

Yb<

y

即第1个字母与第26个字母互换,第i个字母与第(26-i+1)个字母互换。

在文本框中任意输入一个字符串,调用该函数将密码显示在另一个文本框中。

Dims1AsString

s1=Text1.Text

Text2.Text=convert(s1)

PrivateFunctionconvert(s1AsString)AsString

 

Fori=1ToLen(s1)

IfAsc(Mid(s1,i,1))<

91AndAsc(Mid(s1,i,1))>

64Then

convert=convert&

Chr(91-Asc(Mid(s1,i,1))+64)

ElseIfAsc(Mid(s1,i,1))<

123AndAsc(Mid(s1,i,1))>

96Then

Chr(123-Asc(Mid(s1,i,1))+96)

EndFunction

9.编写2个函数,分别求两个正整数的最大公约数和最小公倍数,用户任意输入两个数,采用函数嵌套调用,该函数将它们在窗体显示。

Text1="

:

Text2="

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13ThenText2.SetFocus

PrivateSubText2_KeyPress(KeyAsciiAsInteger)

DimmAsInteger,nAsInteger,rAsInteger,tAsInteger,x

Cls

IfKeyAscii=13Then

m=Text1.Text

n=Text2.Text

nThen

t=m:

m=n:

n=t

r=mModn

Whiler<

>

0

n=r:

Wend

Print

0Orn<

x=MsgBox("

请输入正数"

vbCritical+vbOKCancel)

Ifx=vbCancelThen

End

Text1="

Text1.SetFocus

PrintText1.Text&

和"

Text2.Text&

的最大公约数是:

;

n

10.编写计算阶乘的Function过程,利用ex的下列公式计算e(直到最后一项小于10-6为止)的近似值。

ex≈1+x/1!

+x2/2!

+x3/3!

+…+xn/n!

OptionExplicit

DimxAsInteger,nAsInteger,sAsDouble

x=InputBox("

请输入一个数:

n=1:

s=1

s=s+x^n/(jiecheng(n))

LoopUntilx^n/(jiecheng(n))<

10^(-6)

Prints

PublicFunctionjiecheng(nAsInteger)AsDouble

DimiAsInteger,sAsDouble

s=1

s=s*i

jiecheng=s

11.输入整数N,显示具有N行的杨辉三角形,要求按正三角形的形式在图片框中显示。

OptionExplicit

WindowState=2

Dima(),nAsInteger,iAsInteger,jAsInteger,gAsInteger,eAsInteger

ReDima(n,n)

e=80

e=e-5:

g=e

Forj=1Ton

Ifj>

iThen

a(i,j)=0

Ifi=jThen

a(i,j)=a(i-1,j)+a(i-1,j-1)

Ifa(i,j)=0Then

ExitFor

Picture1.PrintTab(g);

a(i,j);

g=g+10

Picture1.Print

PrivateSubPicture1_Click()

12.编写一个过程,输出以下菱形图形:

A

BBB

CCCCC

DDDDDDD

主程序输入一个奇数(>

=3),调用过程在窗体上输入图形。

DimnAsInteger

IfnMod2=0Orn<

=3Then

错误"

Calldraw(n)

Subdraw(nAsInteger)

Fori=1To(n+1)/2

s=Chr(64+i)

PrintTab(41-i+1);

String(2*(i-1)+1,s)

c=1

Forj=(n-1)/2To1Step(-1)

c=c+1

s=Chr(64+i-c)

PrintTab(41-i+c+1);

String(2*(j-1)+1,s)

13.编写一个将十进制转换为二进制字符串输出的函数。

调用函数计算用户输入一个十进制数,在文本框中输出二进制值。

输入数据为负数,应该将符号位输出

如-13结果-1101

Dima()

PrivateFunctionconvert(y)AsString

DimiAsInteger

i=1

ReDima(i)

x=Abs(y)

DoWhilex<

ReDimPreservea(i)

a(i)=xMod2

Ifa(i)=1Then

x=(x-1)/2

x=x/2

Loop

ReDimPreservea(UBound(a))

Ify<

Fori=1ToUBound(a)

a(i)

convert="

-"

convert

DimyAsInteger

Text1.Text="

y=InputBox("

请输入十进制数字"

Text1.Text=convert(y)

14.输入一个整数N,产生N个随机数(范围1—10*N),然后采用任何2种算法实现由小到大的排序。

将排序前后的数据显示出来。

Dima()AsInteger,nAsInteger

n=InputBox("

请输入数列项数"

Fori=1Ton

a(i)=Int(Rnd*10*n+1)

Fori=1Ton-1

Ifa(i)>

a(j)Then

PrivateSubCommand2_Click()

Forj=1Ton-i

Ifa(j)>

a(j+1)Then

t=a(j):

a(j)=a(j+1):

a(j+1)=t

15.

编写程序,在窗体上输出3~100之间的所有素数。

要求每行显示4个数。

DimfAsBoolean,cAsInteger

Fori=3To100

f=False

Forj=2ToInt(Sqr(i))

IfiModj=0Then

f=True:

Iff=FalseThen

Printi;

IfcMod4=0Then

16.把文本框1、文本框2指定的范围内的所有素数添加到列表框中,并选中列表框数据中最后一位是9的所有数据(设定selected属性),把它们的和值输出。

PublicaAsInteger

PrivateFunctionfact(n)AsLong

Ifn=1Then

fact=1

ElseIfn=2Thenfact=1

Else:

fact=fact(n-2)+fact(n-1)

请输入n"

Printfact(n)

PrivateFunctions(n)AsLong

s1=1:

s2=1

Fori=1Ton-2

s=s1+s2:

t=s2:

s2=s:

s1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1