VB威力加强版第3大题程序设计及答案.docx

上传人:b****3 文档编号:10436378 上传时间:2023-05-25 格式:DOCX 页数:23 大小:19.77KB
下载 相关 举报
VB威力加强版第3大题程序设计及答案.docx_第1页
第1页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第2页
第2页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第3页
第3页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第4页
第4页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第5页
第5页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第6页
第6页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第7页
第7页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第8页
第8页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第9页
第9页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第10页
第10页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第11页
第11页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第12页
第12页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第13页
第13页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第14页
第14页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第15页
第15页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第16页
第16页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第17页
第17页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第18页
第18页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第19页
第19页 / 共23页
VB威力加强版第3大题程序设计及答案.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB威力加强版第3大题程序设计及答案.docx

《VB威力加强版第3大题程序设计及答案.docx》由会员分享,可在线阅读,更多相关《VB威力加强版第3大题程序设计及答案.docx(23页珍藏版)》请在冰点文库上搜索。

VB威力加强版第3大题程序设计及答案.docx

VB威力加强版第3大题程序设计及答案

1、*编写程序:

输入一元二次方程的系数a,b,c的值,求解一元二次方程的根。

PrivateSubCommand1_Click()

Dima#,b#,c#

a=Val(InputBox("参数a="))

b=Val(InputBox("参数b="))

c=Val(InputBox("参数c="))

Callroot(a,b,c)

EndSub

PrivateSubroot(x#,y#,z#)

Dimt#,x1#,X2#

t=y*y-4*x*z

Ift>0Then

x1=(-y+Sqr(t))/(2*x)

X2=(-y-Sqr(t))/(2*x)

Print"实根";"x1=";x1,"x2=";X2

Else

x1=-y/(2*x):

X2=Sqr(Abs(t))/(2*x)

Print"虚根","x1="&x1&"+"&X2&"i"

EndIf

EndSub

2、*编写程序:

已知x、y、z分别是0~9中的一个数,求x、y、z的值,使得下列成立:

xxz+yzz=532。

(其中xxz和yzz不表示乘积,而是由x、y、z组成的三位数)。

PrivateSubCommand1_Click()

Dimx,y,z

Forx=1To9

Fory=1To9

Forz=1To9

If(100*x+10*x+z)+(100*y+10*z

+z)=532Then

Printx,y,z;

EndIf

Nextz

Nexty

Nextx

EndSub

3、*编写程序:

*计算并输出下面级数前n项(n=50)的部分和。

1*2+2*3+3*4+4*5+……+n*(n+1)+…

PrivateSubCommand1_Click()

DimiAsInteger,nAsInteger,sumAsInteger

n=Val(Text1.Text)

Fori=1Ton

sum=sum+i*(i+1)

Nexti

Printsum

EndSub

4、*编写程序:

编程计算1-2+3-4+5-6…±n的值,n由用户输入

PrivateSubCommand1_Click()

DimsAsInteger,aAsInteger,iAsInteger

n=Val(Text1.Text)

s=0:

a=1

Fori=1Ton

s=s+i*a

a=-a

Nexti

Prints

EndSub

5、*编写程序:

编程计算1+(1+2)+(1+2+3)+…+(1+2+3…+n),n由用户输入。

PrivateSubCommand1_Click()

n=Val(Text1.Text)

Sum=0

Fori=1Ton

sum1=0

Forj=1Toi

sum1=sum1+j

Nextj

Sum=Sum+sum1

Nexti

PrintSum

EndSub

6*编写程序:

*计算并输出下面级数前n项(n=30)的部分和。

1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))+……

PrivateSubCommand1_Click()

DimiAsInteger,nAsInteger,sumAsInteger

Fori=1To30

sum=sum+i*(i+1)

k=1/sum

w=w+k

Nexti

Printw

EndSub

7、*编写程序:

*求出斐波那契数列前20项中的奇数项的和。

*提示:

前两项为:

0,1,从第3项开始,每一项均为其前两项的和(即:

0+1+1+2+3+5+...)。

PrivateSubcommand1_Click()

Dima%,b%,c%,d%

a=0:

b=1

Ford=1To18

c=a+b

a=b

b=c

IfdMod2=1Then

Sum=Sum+c

EndIf

Next

PrintSum

EndSub

8*编写程序:

设计一个程序,随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。

PrivateSubCommand1_Click()

Dimy

Randomize

X=Int(Rnd*900+100)

PrintX

y=strreverse(x)

printy

EndSub

呵呵还有一种方法y=XMod10&Int(X/10)Mod10&Int(X/100)也可以实现逆序排列

还有一种方法Fori=0To2

y=y&Mid(X,3-i,1)

Nexti

Printy

也可以啊O(∩_∩)O~

9、*编写程序:

计算并在窗体上输出数字8的平方根和立方根。

PrivateSubCommand1_Click()

x=8^(1/2)

y=8^(1/3)

Printx;y

EndSub

10、*编写程序:

设计一个程序,输出在指定范围内的3个随机数,范围通过文本框输入。

PrivateSubCommand1_Click()

a=Val(Text1.Text)

b=Val(Text2.Text)

c=Int(a+(b-a+1)*Rnd)

d=Int(a+(b-a+1)*Rnd)

e=Int(a+(b-a+1)*Rnd)

Printc&","&d&","&e

EndSub

11*编写程序:

输入x、y、z三个数,按从小到大的次序显示。

PrivateSubCommand1_Click()

x=Val(Text1.Text)

y=Val(Text2.Text)

z=Val(Text3.Text)

Ifz>xThen

t=z:

z=x:

x=t

EndIf

Ifz>yThen

t=z:

z=y:

y=t

EndIf

Ify>xThen

t=y:

y=x:

x=t

EndIf

Printx&","&y&","&z

EndSub

12*编写程序:

求100至999之间的最大的三个素数。

PrivateSubCommand1_Click()

DimnAsInteger,iAsInteger,jAsInteger,n1AsInteger

DimflagAsBoolean

n1=1

Forn=900To100Step-1

flag=True

Fori=2ToInt(Sqr(n))

IfnModi=0Then

flag=False

ExitFor

EndIf

Next

IfflagThen

DoWhilen1<=3

Printn;

n1=n1+1

ExitDo

Loop

EndIf

Next

EndSub

13、*编写程序:

求100-110之间各整数的平方根

设置窗体的AutoRedraw属性为True.

PrivateSubForm_Load()

Dima&,b!

Fora=100To110

b=Sqr(a)

Printb

Next

EndSub

当然,也可以用format函数来限制结果的格式

如:

b=format(sqr(a);”####,##”)

14、*编写程序:

*要求能够产生一个[10,100]内(包括10和100)的一个随机数,然后判断其是否是素数。

*如果是,在窗体上输出"yes",否则,输出"no"。

PrivateSubCommand1_Click()

a=Int(10+91*Rnd)

Fori=2ToInt(Sqr(a))

If(aModi)=0Then

Printa&":

"&"no"

ExitSub

EndIf

Nexti

Printa&":

"&"yes"

EndSub

EndSub

15、*编写程序:

使用级数求π的值。

根据下式,计算圆周率π的近似值,当计算到绝对值小于0.0001的通项时,认为满足精度要求,停止计算。

用到的公式为π/4=1-1/3+1/5-1/7+...

PrivateSubCommand1_Click()

Dims!

n!

t!

pi!

t=1:

pi=0:

n=1:

s=1

WhileAbs(t)>=0.0001

pi=pi+t

n=n+2

s=-s

t=s/n

Wend

pi=pi*4

Printpi

Endsub

16、*编写程序:

利用随机函数产生20个(50,100)(不包括50,100)范围内的随机整数,显示它们当中的最大值、最小值和平均值。

PrivateSubForm_Click()

Dima,max,min,sum,average

sum=0

max=20

min=50

Fori=1To20

a=(Rnd*50)+50

sum=sum+a

Ifa

Ifa>maxThenmax=a

Printa

Next

Printmax

Printmin

average=sum/20

Printaverage

EndSub

17、*编写程序:

*使用双重循环,在窗体上输出“九九乘法表”的上三角。

PrivateSubCommand2_Click()

DimIAsInteger,JAsInteger

Me.Cls

ForI=1To9

ForJ=ITo9

PrintFormat(I*J,I&"x"&J&"=@@");

Next

Print

PrintSpace(7*I);

Next

EndSub

18、*编写程序:

在文本框中输入小时、分、秒,化成共有多少秒,然后输出总秒数。

PrivateSubCommand1_Click()

Dimh%,m%,s%,x!

h=Val(Text1.Text):

m=Val(Text2.Text)

s=Val(Text3.Text)

x=h*3600+m*60+s

Label1.Caption="共计秒数"&Str(x)&"秒"

EndSub

19、*编写程序:

在文本框中输入弧度值,将弧度换算为角度值(度、分、秒)的形式并输出,要求秒数保留三位小数。

PrivateSubCommand1_Click()

hudu=Val(Text1.Text)

a=Fix(hudu*180/3.14)

b=Fix((hudu*180/3.14-a)*60)

c=Fix(((hudu*180/3.14-a)*60-b)*60)

d=Fix(c)

PrintFormat(c,"##,000")

Printa&"度"&b&"分"&c&"秒"

EndSub

20、*编写程序:

利用InputBox和MsgBox完成小时、分、秒的输入,总秒数的输出。

PrivateSubCommand1_Click()

Dima,b,c,d

a=InputBox("小时数")

b=InputBox("分钟数")

c=InputBox("秒数")

d=3600*a+60*b+c

e=MsgBox("总秒数"&d)

EndSub

21、*编写程序:

在文本框中输入长、宽、高,求长方体的表面积并输出。

PrivateSubCommand1_Click()

Dima,b,c,d

a=Val(Text1.Text)

b=Val(Text2.Text)

c=Val(Text3.Text)

d=2*(a*b+b*c+a*c)

Print"长方体的表面积"&"="&d

EndSub

22、*编写程序:

某公司每年的销售收入均比前一年增长10个百分点,按此增长率,需要多少年可以实现销售收入翻两番的目标?

PrivateSubForm_Click()

DimiAsSingle

DimsAsInteger'设s为所求年数,定义为整型,结果由窗体输出

i=1

s=0

DoWhilei<=4

i=i*(1+0.1)

s=s+1

Loop

Print"s=";s

EndSub

23、*编写程序:

*设某人有现金8000元,银行年利率为7.5%,问如果这些钱如果存入银行,多少年后可以超过4万元。

*(不计复利)

24、*编写程序:

利用InputBox和MsgBox完成3种商品的单价、购买数量的输入,总金额的输出。

25*编写程序:

在文本框中输入3种商品的单价、购买数量,计算并输出所用的总金额。

PrivateSubCommand1_Click()

Dima1!

b1!

c1!

Dima2%,b2%,c2%

Dimx!

a1=Val(Text1.Text):

a2=Val(Text2.Text)

b2=Val(Text3.Text):

b2=Val(Text4.Text)

c3=Val(Text5.Text):

c2=Val(Text6.Text)

x=a1*a2+b1*b2+c1*c2

text7.Text=x

EndSub

注:

text1为第一种商品的单价,text2为第一种商品的数量,其它依此类推,text7为总计金额o(∩_∩)o…

26、*编写程序:

利用文本框输入一个年份,编程判定该年份是否是闰年。

判定条件是:

能被400整除,或者能被4整除但不能被100整除的年份是闰年。

在文本框中输入年份,使用print输出是否为闰年。

PrivateSubCommand1_Click()

DimiAsInteger,sAsInteger

s=Int(Text1.Text)

IfsMod400=0Or(sMod4=0AndsMod100<>0)Then

Print"闰年"

Else

Print"不是闰年"

EndIf

EndSub

27、*编写程序:

百钱买百鸡。

公元前5世纪,我国数学家张丘建在《算经》中提出“百鸡问题”:

鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。

百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

PrivateSubCommand1_Click()

Forx=0To30

Fory=0To33

If5*x+3*y+(100-x-y)/3=100Then

Printx,y,100-x-y

EndIf

Nexty

Nextx

注:

X代表公鸡,Y代表母鸡

28、*编写程序:

有一阶梯,如果每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;每步跨7阶,正好到达阶梯顶。

问阶梯至少有多少阶?

PrivateSubCommand1_Click()

x=0

DoUntilxMod2=1AndxMod3=2AndxMod4=3AndxMod5=4AndxMod6=5AndxMod7=0

x=x+1

Loop

Printx

EndSub

29、*编写程序:

输出所有的“水仙花数”,所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

例如,153是一水仙花数,因为153=13+53+33。

PrivateSubCommand1_Click()

Fora=1To9

Forb=1To9

Forc=1To9

Ifa^3+b^3+c^3=a*100+b*10+cThen

Printa,b,c

EndIf

Nextc

Nextb

Nexta

EndSub

30、*编写程序:

输出以下图形:

*

***

*****

*******

PrivateSubCommand1_Click()

Fori=1To4

PrintTab(25-i);

Forj=1To2*i-1

Print"*";

Nextj

Print

Nexti

EndSub

31、*编写程序:

*打印出以下图案。

*

***

*****

*******

*****

***

*

PrivateSubCommand1_Click()

DimiAsInteger

Me.Cls

n=4

Fori=1Ton

PrintTab(n-i+1);String(2*i-1,"*")

Next

Fori=n-1To1Step-1

PrintTab(n-i+1);String(2*i-1,"*")

Next

EndSub

32、*编写程序:

*打印出以下图案。

*

*+*

*+*+*

*+*+*+*

*+*+*

*+*

*

PrivateSubCommand1_Click()

DimiAsInteger

Me.Cls

n=4

Fori=1Ton

PrintTab(25-i);

Forj=1To2*i-1

IfjMod2=0Then

Print"+";

Else

Print"*";

EndIf

Nextj

Print

Nexti

Fori=3To1Step-1

PrintTab(25-i);

Forj=1To2*i-1

IfjMod2=0Then

Print"+";

Else

Print"*";

EndIf

Nextj

Print

Nexti

EndSub

33、*编写一个图形输出的程序

*********

*******

*****

***

*

***

*****

*******

*********

PrivateSubCommand1_Click()

DimiAsInteger

Me.Cls

n=5

Fori=nTo1Step-1

PrintTab(n-i+1);String(2*i-1,"*")

Next

Fori=2Ton

PrintTab(n-i+1);String(2*i-1,"*")

Next

EndSub

34、*编写程序:

*打印出以下图案。

*

**

***

****

*****

******

PrivateSubCommand1_Click()

Fori=1To5

Forj=1Toi

Print"*";

Nextj

Print

Nexti

EndSub

35、*编写程序,输出下列三角形:

4444444

33333

222

1

PrivateSubCommand1_Click()

Fori=4To1Step-1

PrintTab(10-i);

Forj=2*i-1To1Step-1

PrintTrim(Str(i));

Nextj

Nexti

EndSub

36、*编写程序:

*打印出以下图案。

1

222

33333

4444444

33333

222

1

PrivateSubCommand1_Click()

Fori=1To4

PrintTab(10-i);

Forj=1Toi*2-1

PrintTrim(Str(i));

Nextj

Nexti

Fori=3To1Step-1

PrintTab(10-i);

Forj=2*i-1To1Step-1

PrintTrim(Str(i));

Nextj

Nexti

EndSub

37、*编写程序:

*打印出以下图案。

1

121

12321

1234321

12321

121

1

PrivateSubCommand1_Click()

Fori=1To4

PrintTab(25-i);

Forj=1Toi

PrintTrim(Str(j));

Nextj

Forj=i-1To1Step-1

PrintTrim(Str(j));

Nextj

Print

Nexti

Fori=5To7

PrintTab(17+i);

Forj=1To8-i

PrintTrim(Str(j));

Nextj

Forj=7-iTo1Step-1

PrintTrim(Str(j));

Nextj

Nexti

EndSub

注释:

Trim()功能删除字符串首部和尾部的空格。

38、*编写程序:

*打印出以下图案。

A

BBB

CCCCC

DDDDDDD

CCCCC

BBB

A

PrivateSubCom

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2