VB程序设计课后习题答案科学出版社.docx

上传人:b****1 文档编号:1147535 上传时间:2022-10-17 格式:DOCX 页数:16 大小:73.09KB
下载 相关 举报
VB程序设计课后习题答案科学出版社.docx_第1页
第1页 / 共16页
VB程序设计课后习题答案科学出版社.docx_第2页
第2页 / 共16页
VB程序设计课后习题答案科学出版社.docx_第3页
第3页 / 共16页
VB程序设计课后习题答案科学出版社.docx_第4页
第4页 / 共16页
VB程序设计课后习题答案科学出版社.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

VB程序设计课后习题答案科学出版社.docx

《VB程序设计课后习题答案科学出版社.docx》由会员分享,可在线阅读,更多相关《VB程序设计课后习题答案科学出版社.docx(16页珍藏版)》请在冰豆网上搜索。

VB程序设计课后习题答案科学出版社.docx

VB程序设计课后习题答案科学出版社

VB程序设计课后习题答案(科学出版社)

D

s=s+i

Nexti

Print"1+2+3+…+100=";s

EndSub

4.百元买百鸡。

假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。

(采用穷举法)

假设母鸡、公鸡、小鸡各为x、y、z,列出方程为:

x+y+z=100

3x+2y+0.5z=100

PrivateSubForm_Click()

Dimx%,y%,z%

Print"母鸡","公鸡","小鸡"

Forx=0To33

Fory=0To50

z=100-x-y

If3*x+2*y+0.5*z=100Then

Printx,y,z

EndIf

Nexty

Nextx

EndSub

5.给定三角形的3条边的边长,计算三角形的面积。

编写程序,首选判断的3条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。

当输入-1时结束程序。

PrivateSubForm_Click()

Dima%,b%,c%,s!

p!

DoUntila=-1Orb=-1Orc=-1

a=Val(InputBox("a="))

b=Val(InputBox("b="))

c=Val(InputBox("c="))

Ifa+b>cAnda+c>bAndb+c>aThen

p=(a+b+c)/2

s=Sqr(p*(p-a)*(p-b)*(p-c))

Print"s=";s

EndIf

Loop

EndSub

6.编程打印如下图所示的数字金字塔。

PrivateSubForm_Click()

Dimi%,j%

Fori=1To8

PrintTab(9-i);

Forj=1To2*i-1

PrintTrim(Str(i));

Nextj

Print

Nexti

EndSub

7.勾股定理中3个数的关系是:

a*a+b*b=c*c。

编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。

PrivateSubForm_Click()

Dimi%,j%,k%

Fori=1To30

Forj=1To30

Fork=1To30

Ifi^2+j^2=k^2Then

Printi,j,k

EndIf

Nextk

Nextj

Nexti

EndSub

8.如果一个三位数3个数字的立方和等于该数本身,称为水仙花数。

例如153就是一个水仙花数:

13+53+33=153。

编写程序,显示所有三位的水仙花数。

PrivateSubForm_Click()

Dimx%,a%,b%,c%

Forx=100To999

a=x\100

b=(xMod100)\10

c=xMod10

Ifa^3+b^3+c^3=xThen

Printx

EndIf

Nextx

EndSub

9.税务部门征收所得税,规定如下:

(1)收入200元以内,免征;

(2)收入在200~400元内,超过200元的部分纳税3%;

(3)收入超过400元的部分,纳税4%;

(4)当收入达5000元或超过时,将4%改为5%。

编程实现上述操作。

PrivateSubForm_Click()

Dimx%,y!

x=Val(InputBox("请输入收入额:

"))

SelectCasex

CaseIs<200

y=0

Case200To400

y=(x-200)*0.03

Case400To4999

y=(x-400)*0.04

CaseIs>=5000

y=(x-400)*0.05

EndSelect

Print"y=";y

EndSub

10.编写一程序根据上网时间计算上网费用,计算方法如下:

50元(<10小时)

网费=每小时6元(10~60小时)

每小时4元(>=60小时)

同时为了鼓励多上网,每月收费最多不超过200元。

PrivateSubForm_Click()

Dimt!

s!

t=Val(InputBox("请输入上网小时数"))

SelectCaset

CaseIs<10

s=50

Case10To59

s=6*t

Ifs>200Thens=200

CaseIs>=60

s=4*t

Ifs>200Thens=200

EndSelect

Print"上网费用为";s;"元。

"

EndSub

11.编写一个程序,当输入月份时,输出季节的名称。

例如,当输入月份为12、1和2时,输出“冬季”;当输入月份为3、4、5时,输出“春季”;当输入月份为6、7、8时,输出“夏季”;当输入月份为9、10、11时,输出“秋季”;当输入其他数字时,输出“输入错误,请重新输入!

”。

PrivateSubForm_Click()

Dimm%

m=Val(InputBox("请输入月份:

"))

SelectCasem

Case12,1,2

Print"冬季"

Case3,4,5

Print"春季"

Case6,7,8

Print"夏季"

Case9,10,11

Print"秋季"

CaseElse

Print"输入错误,请重新输入!

"

EndSelect

EndSub

12.分别利用If语句、SelectCase语句,设计计算下列分段函数的程序。

2x-1(x<0)

f(x)=4x(x=0)

7x-5(x>0)

PrivateSubForm_Click()

Dimx!

f!

x=Val(InputBox("请输入x的值:

"))

SelectCasex

CaseIs<0

f=2*x-1

Case0

f=4*x

CaseIs>0

f=7*x-5

EndSelect

Printf

EndSub

同步练习5

一、选择题

01——05DCACD

06——10DBCDC

11——15BADAD

二、填空题

1.NAME、INDEX

2.PRESERVE

3.VARIANT

4.N

(2)=2

N(3)=3

5.123141

6.123246

7.MAX、MAX=ARR1(I)

三、编程题

1.从键盘上输入10整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即第1个元素与第10个元素互换,第2个元素与第9个元素互换,……,第5个元素与第6个元素互换。

输出数组为原来各元素的值和对换后各元素的值。

PrivateSubForm_Click()

Dima(1To10)

Fori=1To10

a(i)=Val(InputBox("请输入第"&i&"个数"))

Nexti

Print"原来各元素的值:

"

Fori=1To10

Printa(i);

IfiMod5=0ThenPrint

Nexti

Fori=1To5

temp=a(i)

a(i)=a(10-i+1)

a(10-i+1)=temp

Nexti

Print"对换后各元素的值"

Fori=1To10

Printa(i);

IfiMod5=0ThenPrint

Nexti

EndSub

2.设有如下两组数据。

编写一个程序,把两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,…,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。

  A28764287025

B7927324157667880

PrivateSubForm_Click()

Dima,b,c(7)

a=Array(2,8,7,6,4,28,70,25)

b=Array(79,27,32,41,57,66,78,80)

Fori=0To7

c(i)=a(i)+b(i)

Nexti

Fori=0To7

Printc(i);

Nexti

EndSub

3.有一个n×m的矩阵,其各元素的值由随机函数生成(范围为50~150)。

编写程序,找出其中最大的元素所在的行和列,并输出其值及行号和列号。

OptionBase1

PrivateSubForm_Click()

Dimmax%,row%,col%

Dima()AsInteger

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

"))

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

"))

ReDima(n,m)

Fori=1Ton

Forj=1Tom

a(i,j)=Int(101*Rnd)+50

Printa(i,j),

Ifj=mThenPrint

Nextj

Nexti

max=a(1,1):

row=1:

col=1

Fori=1Ton

Forj=1Tom

Ifa(i,j)>maxThen

max=a(i,j)

row=i

col=j

EndIf

Nextj

Nexti

Print"最大元素是:

";max

Print"在第"&row&"行,"&"第"&col&"列"

EndSub

4.编写程序,产生50个互不相同的10~99的随机整数,统计各数值段(10~19,20~29,….80~89,90~99)有多少个数并输出。

PrivateSubForm_Click()

Dima(1To50)AsInteger,iAsInteger

Dimb(1To9)AsInteger,kAsInteger

Fori=1To50

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

Printa(i);

IfiMod10=0ThenPrint

k=Int(a(i)/10)

b(k)=b(k)+1

Nexti

Print

Fori=1To9

Print(i*10)&"~"&(i*10+9)&"的学生人数:

"&b(i)

Nexti

EndSub

5.采用控件数组编写一个简单的计算

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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