程序填空例子.docx

上传人:b****5 文档编号:8636800 上传时间:2023-02-01 格式:DOCX 页数:64 大小:71.55KB
下载 相关 举报
程序填空例子.docx_第1页
第1页 / 共64页
程序填空例子.docx_第2页
第2页 / 共64页
程序填空例子.docx_第3页
第3页 / 共64页
程序填空例子.docx_第4页
第4页 / 共64页
程序填空例子.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

程序填空例子.docx

《程序填空例子.docx》由会员分享,可在线阅读,更多相关《程序填空例子.docx(64页珍藏版)》请在冰豆网上搜索。

程序填空例子.docx

程序填空例子

●以下程序的功能如图。

PrivateSubForm_Click()

Dima%,b%,c%,d!

Dimx1,x2

Dimp,q,r

a=InputBox("请输入a的值")

b=InputBox("请输入b的值")

c=InputBox("请输入c的值")

d=b*b-4*a*c

p=-b/(2*a)

Ifd>=0Then

'**********SPACE**********

If【?

】Then

r=Sqr(d)/(2*a)

x1=p+r

x2=p-r

Else

x1=p

x2=p

'**********SPACE**********

【?

Print"x1=";x1,"x2=";x2

'**********SPACE**********

【?

q=Sqr(-d)/(2*a)

Print"x1=";p;"+";q;"i","x2=";p;"-";q;"i"

EndIf

EndSub

『答案』

1d>0或0

2EndIf

3Else

●以下程序用于判断一个正整数(≥3)是否为素数。

PrivateSubForm_Click()N2N-12INT(SQR(N))

n=InputBox("请输入一个正整数(≥3)")

k=Int(Sqr(n))

i=2

swit=0

'**********SPACE**********

DoWhilei<=kAnd【?

'**********SPACE**********

If【?

】Then

swit=1

Else

'**********SPACE**********

【?

EndIf

Loop

Ifswit=0Then

Printn;"是一个素数"

Else

Printn;"不是素数"

EndIf

EndSub

『答案』

1swit=0

2nModi=0或n/i=n\i或n/i=int(n/i)

3i=i+1

●下面的程序段,用于实现在一个nXm的矩阵中,找出值最大的元素所在的行和列,并输出其值及行号和列号。

PrivateSubForm_Click()

Dimmat()AsInteger

DimnAsInteger,mAsInteger

n=Val(InputBox("请输入矩阵的行数"))

m=Val(InputBox("请输入矩阵的列数"))

'**********SPACE**********

【?

Fori=1Ton

Forj=1Tom

mat(i,j)=InputBox("请输入数组元素值")

mat(i,j)=Val(mat(i,j))

Nextj

Nexti

Print"所建立的矩阵为"

Fori=1Ton

Forj=1Tom

Printmat(i,j);

Nextj

Print

Nexti

Max=mat(1,1)

Fori=1Ton

Forj=1Tom

'**********SPACE**********

If【?

】Then

Max=mat(i,j)

col=j

'**********SPACE**********

【?

EndIf

Nextj

Nexti

Print

Print"矩阵最大的元素的值为:

";mat(row,col)

Print"它所在的行号为:

";row;"列号为:

";col

EndSub

『答案』

1ReDimmat(n,m)AsInteger或ReDimmat(n,m)

2MaxMax

3row=I

●以下程序段用于实现矩阵转置,即将一个n×m的矩阵的行和列互换

PrivateSubForm_Click()

Constn=3

Constm=4

Dima(n,m)AsInteger,b(m,m)AsInteger

ForI=1Ton

Forj=1Tom

a(I,j)=Int(Rnd*90)+10

Nextj

'**********SPACE**********

【?

ForI=1Ton

Forj=1Tom

'**********SPACE**********

【?

Nextj

NextI

Print"矩阵转置前"

ForI=1Ton

Forj=1Tom

Printa(I,j);

Nextj

'**********SPACE**********

【?

NextI

Print"矩阵转置后"

ForI=1Tom

Forj=1Ton

Printb(I,j);

Nextj

Print

NextI

EndSub

『答案』

1Nexti或Next

2b(j,i)=a(i,j)

3print或form1.print或?

●以下程序段用于输出杨辉三角:

结果样式如图

PrivateSubForm_Click()

Constn=10

Dimarr(n,n)AsInteger

ForI=1Ton

arr(I,I)=1

'**********SPACE**********

【?

NextI

ForI=3Ton

Forj=2ToI-1

'**********SPACE**********

arr(i,j)=【?

Nextj

NextI

ForI=1Ton

Forj=1ToI

'**********SPACE**********

【?

Nextj

Print

NextI

EndSub

『答案』

1arr(i,1)=1

2arr(i-1,j-1)+arr(i-1,j)

3Printarr(i,j);或form1.Printarr(i,j);或?

arr(i,j);

●下面过程max()用于求3个数中最大值,利用这个过程求5个数中最大值。

PrivateSubForm_Click()

Print"5个数34、124、68、73、352的最大值是:

"

max1=max(34,124,68)

'**********SPACE**********

max1=【?

Printmax1

EndSub

PublicFunctionmax(ByVala%,ByValb%,ByValc%)

'**********SPACE**********

If【?

】Then

m=a

Else

m=b

EndIf

'**********SPACE**********

If【?

】Then

max=m

Else

max=c

EndIf

EndFunction

『答案』

1max(max1,73,352)

2a>b或b

3m>c或c

●以下程序段利用随机函数生成15个10-100之间的整数,然后用选择法将其从小到大排序。

INT(91*RND+10)

PrivateSubForm_Click()

Constn=15

Dima(1Ton)AsInteger

DimiAsInteger,jAsInteger,tAsInteger,minAsInteger

Randomize

Fori=1Ton

'**********SPACE**********

a(i)=【?

Nexti

Fori=1Ton

Printa(i);

Nexti

Print

Fori=1Ton-1

'**********SPACE**********

T=I

Forj=i+1Ton

Ifa(j)

Nextj

'**********SPACE**********

If【?

】Then

min=a(i):

a(i)=a(t):

a(t)=min

EndIf

Nexti

Fori=1Ton

Printa(i);

Nexti

EndSub

『答案』

1Int(91*Rnd)+10

2t=i

3t<>I

●下面的程序段用于实现以下功能:

利用冒泡法将一组整数从小到大排序。

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

『答案』

1Step-1

2work=False或work=0

3ExitFor

●以下程序的功能如图。

PrivateSubForm_Click()

DimsAsSingle,mAsInteger,p#

s=1

Form=1To10

'**********SPACE**********

p=N(M)【?

s=s+1/p

Nextm

Prints

EndSub

Functionn(k%)

p=1

Form=1Tok

'**********SPACE**********

p=P*M

Nextm

'**********SPACE**********

【?

】N=P

EndFunction

『答案』

1n(m)

2p*m

3n=p

●下面的程序段用于求矩阵相乘C=A×B,设A、B、C分别为m×p、p×n、m×n的矩阵。

PrivateSubForm_Click()

Constm=4,p=3,n=2

Dima(1Tom,1Top)AsInteger

Dimb(1Top,1Ton)AsInteger

Dimc(1Tom,1Ton)AsInteger

DimiAsInteger,jAsInteger,kAsInteger,sumAsInteger

Fori=1Tom

Fork=1Top

a(i,k)=i

Nextk

Nexti

Fori=1Top

Fork=1Ton

b(i,k)=i

Nextk

Nexti

Fori=1Tom

Forj=1Ton

'**********SPACE**********

【?

Fork=1Top

'**********SPACE**********

sum=sum+【?

Nextk

'**********SPACE**********

c(i,j)=【?

Nextj,i

Print"输出矩阵"

Fori=1Tom

Fork=1Ton

Printc(i,k),

Nextk

Print

Nexti

EndSub

『答案』

1sum=0

2a(i,k)*b(k,j)

3sum

●从键盘输入学生分数,统计学生总人数和各分数段人数,即优秀(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

『答案』

1score>=0Andscore<=100或0<=scoreAndscore<=100或0<=scoreAnd100>=score或score>=0And100>=score

2score

3EndSelect

●以下程序段用于实现:

输入两个正整数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

『答案』

1num1num1

2b<>0或b>0或0

3b=temp

●利用下面的过程求m!

和m*n

PrivateSubForm_Click()

DimmAsInteger,nAsInteger

m=2

n=3

'**********SPACE**********

【?

EndSub

PrivateSubfind(xAsInteger,yAsInteger)

Dims,iAsInteger

'**********SPACE**********

S=1

Fori=1Tox

s=s*i

'**********SPACE**********

p=p+y

Nexti

Prints,p

EndSub

『答案』

1findm,n

2s=1或s=1:

p=0

3p+y

●以下程序段用于求∑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

『答案』

1sum+mul(i)

2x

3mul=s

●从键盘上输入一串字符,以"?

"结束,统计输入字符中的大、小写字母和数字的个数。

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

『答案』

1ch<>"?

"或notch="?

"

2"A"To"Z"

3Loop

●下面的程序段用于建立文件并输出文件,文件内容如下:

*****

'*****

'*****

'*****

'*****

PrivateSubForm_Click()

'**********SPACE**********

Open"c:

\1.txt"For【?

】As#1

Fori=1To5

Print#1,Spc(i);"*****"

Nexti

'**********SPACE**********

【?

'**********SPACE**********

Open"c:

\1.txt"For【?

】As#1

Fori=1To5

LineInput#1,x

Printx

Nexti

Close#1

EndSub

『答案』

1Output

2Close#1或Close

3Input

●下面的程序段用于打印出以下图形

'

*

***

*****

*******

*****

***

*

PrivateSubForm_Click()

Dimi%,j%,k%

Fori=0To3

Forj=0To2-i

Print"";

Nextj

'**********SPACE**********

Fork=1To【?

Print"*";

Nextk

Print

Nexti

Fori=0To2

Forj=0Toi

'**********SPACE**********

【?

Nextj

Fork=0To4-2*i

Print"*";

Nextk

'**********SPACE**********

【?

Nexti

EndSub

『答案』

12*i+1

2Print"";

3Print

●下面的程序实现:

从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍保持有序。

'-------------------------------------------------------

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

『答案』

1a(0)=x

2a(i+1)=a(i)

3a(i+1)=x

●本程序用于实现:

从键盘接收一数字,判断其是否在数组中,如果在数组中则将其删除,否则显示该数字不在数组中。

PrivateSubForm_Click()

Dima(10)AsInteger,xAsInteger

Fori=1To10

a(i)=Int(Rnd*90)+10

Printa(i);

Nexti

Print

x=InputBox("请输入要删除的整数")

Fori=1To10

'**********S

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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