VB算法.docx

上传人:b****8 文档编号:10082963 上传时间:2023-02-08 格式:DOCX 页数:17 大小:203.95KB
下载 相关 举报
VB算法.docx_第1页
第1页 / 共17页
VB算法.docx_第2页
第2页 / 共17页
VB算法.docx_第3页
第3页 / 共17页
VB算法.docx_第4页
第4页 / 共17页
VB算法.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

VB算法.docx

《VB算法.docx》由会员分享,可在线阅读,更多相关《VB算法.docx(17页珍藏版)》请在冰豆网上搜索。

VB算法.docx

VB算法

1.若一元二次方程ax2+bx+c=0有两个实根,请编程计算方程的根。

要求系数a,b,c用文本框从键盘上输入,方程的根用标签框输出。

PrivateSubCommand1_Click()

Dima%,b%,c%

a=Val(Text1.Text)

b=Val(Text2.Text)

c=Val(Text3.Text)

Ifb^2-4*a*c

MsgBox"无解",5

ElseIfb^2-4*a*c=0Then

Text4=Format(-b/2*a,"0.00")

Text5=Format(-b/2*a,"0.00")

Else

Text4=Format(((-b+Sqr(b^2-4*a*c))/2*a),"0.00")

Text5=Format(((-b-Sqr(b^2-4*a*c))/2*a),"0.00")

EndIf

EndSub

2.商品打折,购物300以上,95折;购物500以上,9折;购物1000以上,85折;购物5000以上,8折。

请编程计算打折后的金额。

PrivateSubCommand1_Click()

Dimx!

y!

x=Text1.Text

Ifx<300Then

y=x

ElseIfx<500Then

y=0.95*x

ElseIfx<1000Then

y=0.9*x

ElseIfx<5000Then

y=0.85*x

Else

y=0.8*x

EndIf

Text2.Text=y

EndSub

 

3.判断某一年是否是闰年。

PrivateSubForm_Click()

DimyAsInteger

y=InputBox("输入年数")

IfyMod400=0Then

EndIf

Printy;"闰年"

4.求s=1+2+3+……+100和t=1*2*3*……*10

PrivateSubCommand1_Click()

Dims!

n!

s=0

n=1

Forn=1To100

s=s+n

n=n+1

Nextn

Prints

EndSub

PrivateSubCommand2_Click()

Dimt!

i!

t=1

i=1

Fori=1To10

t=t*i

i=i+1

Nexti

Printt

EndSub

5.用100元买100只兔子,雄兔5元1只,雌兔3元1只,幼兔1元3只,问各应买多少只?

PrivateSubCommand1_Click()

Dimx%,y%,z%

Forx=oTo20

Fory=oTo33

z=100-x-y

If5*x+3*y+z/3*1=100Then

Text1.Text=x

Text2.Text=y

Text3.Text=z

EndIf

Next

Next

EndSub

求s=1-1/2+1/3-1/4+……+1/99-1/100(各使用dowhile和for编程

PrivateSubCommand1_Click()

Dims!

n!

s=1

n=2

DoWhilen<=100

s=s+(-1)^(n-1)*(1/n)

n=n+1

Loop

Text1.Text=s

EndSub

PrivateSubCommand2_Click()

Dims!

n!

s=0

Forn=1To100

s=s+(-1)^(n-1)*(1/n)

Nextn

Text2.Text=s

EndSub

7.在窗体上输出1-9和0的宝塔型图形,如图。

PrivateSubForm_Click()

Dimi!

Fori=1To9

PrintTab(20-i);String(2*i-1,Trim(Str(i)))

Nexti

EndSub

9.求100—999中的水仙花数,如153=1^3+5^3+3^3。

PrivateSubForm_Click()

Dimi!

x!

y!

z!

Fori=100To999

x=iMod10

y=(iMod100)\10

z=i\100

Ifx^3+y^3+z^3=z*100+y*10+xThen

Printi

EndIf

Nexti

EndSub

10.利用Rnd函数产生10个0—99之间的整数,存放在数组中,求该数组中的最小值、最大值和平均值,然后在窗体上显示所有小于50的数组元素。

PrivateSubCommand1_Click()

Dima(1To10)AsInteger

Fori=1To10

a(i)=Int(Rnd*100)

Picture1.Printa(i)

Ifa(i)<50Then

Picture2.Printa(i)

EndIf

Next

Max=a

(1)

Min=a

(1)

aver=a

(1)

Fori=2To10

IfMax

IfMin>a(i)ThenMin=a(i)

aver=aver+a(i)

Next

Text1.Text=Max

Text2.Text=Min

Text3.Text=aver/10

EndSub

11.利用Rnd函数产生10个0~99之间的随机数,从大到小排列,单击窗体后将原始数据和排序后的结果分别显示在窗体上。

PrivateSubForm_Click()

Dimd(9)AsInteger

Dimi%,j%

Randomize

Print

PrintTab(5);"初始随机数为:

"

PrintTab(5);

Fori=0To9

d(i)=Int(Rnd*100)

Printd(i);

Next

Fori=0To8

Forj=i+1To9

Ifd(i)

t=d(i)

d(i)=d(j)

d(j)=t

EndIf

Next

Next

Print

PrintTab(5);"排序后为:

"

PrintTab(5);

Fori=0To9

Printd(i);

Next

EndSub

第二种方法DimiAsInteger

Dima(1To10)AsInteger

Fori=1To10

Randomize

a(i)=Rnd*100

Printa(i);

Next

Forn=1To9

imin=n

Forj=n+1To10

Ifa(j)>a(imin)Thenimin=j

Nextj

t=a(n)

a(n)=a(imin)

a(imin)=t

Nextn

Forn=1To10

Print

Printa(n);

Next

12.利用Rnd函数产生10个100~200之间的随机数放入一维数组中,然后将前5个元素和后5个元素对换,即第1个元素和第10个元素对换,第2个元素和第9个元素对换……第5个元素和第6个元素对换,单击窗体后,分别输出数组原来各元素的值和对换后各元素的值。

DimiAsInteger

Dima(1To10)AsInteger

Print

PrintTab(5);"初始随机数为:

"

PrintTab(5);

Fori=1To10

Randomize

a(i)=Rnd*100

Printa(i);

Next

Forn=1To5

t=a(n)

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

a(10-n+1)=t

Next

PrintTab(5);"排序后为:

"

PrintTab(5);

Fori=1To10

Printa(i);

Next

 

13.由用户输入两个整数,求这两个整数的最大公约数。

(使用Inputbox进行输入)

PrivateSubCommand1_Click()

Dimm%,n%,r%

m=InputBox("请输入一个数")

n=InputBox("请输入一个数")

Ifm

t=m

m=n

n=t

r=mModn

EndIf

DoWhiler<>0

m=n

n=r

r=mModn

Loop

Text3.Text=n

EndSub

14.分别计算y=(5!

+7!

)/3!

和s=1!

+2!

+…+10!

的值。

(使用函数子程序进行编程)

PublicFunctionjax(n%)AsDouble

DimtAsDouble

DimiAsDouble

t=1

Fori=1Ton

t=t*i

Next

jax=t

EndFunction

PrivateSubCommand1_Click()

Text1.Text=(jax(5)+jax(7))/jax(3)

EndSub

PrivateSubCommand2_Click()

DimsAsDouble

DimnAsInteger

s=0

Forn=1To10

s=s+jax(n)

Next

Text2.Text=s

EndSub

16.利用inputbox输入一个正整数,并判断其是否为素数。

PrivateSubForm_Click()

Dimx!

i!

x=InputBox(请输入一个数)

Fori=2Tox-1

IfxModi=0Then

F=1

ExitFor

EndIf

Nexti

IfF=1Then

Label1.Caption="你输入的数是"&x&",该数不是素数。

"

Else

Label1.Caption="你输入的数是"&x&",该数是素数。

"

EndIf

EndSub

2.设计文本编辑器应用程序1A2.vbp。

界面如图1-1-2所示。

其中,“文件”菜单中有2个子菜单“输入”和“退出”;“字体外观”菜单中有3个子菜单“粗体”、“斜体”和“下划线”;“字体名称”菜单中有3个子菜单“宋体”、“华文行楷”和“隶书”;“字体大小”菜单有4个子菜单“12”、“18”、“24”和“28”。

rivateSubcuti_Click()

=Not

EndSub

PrivateSubh_Click()

="华文行楷"

EndSub

PrivateSubl_Click()

="隶书"

EndSub

PrivateSubs_Click()

="宋体"

EndSub

PrivateSubshuru_Click()

List1.AddItem"大学计算机基础"

EndSub

PrivateSubtuichu_Click()

List1.Clear

EndSub

PrivateSubxiahuaxian_Click()

=Not

EndSub

PrivateSubxieti_Click()

=Not

EndSub

PrivateSubz_Click()

=12

EndSub

4

PrivateSubCommand1_Click()

DimxAsInteger

x=Text1.Text

IfOption1.Value=TrueThen

Text2.Text=Sin(x*3.14/180)

EndIf

IfOption2.Value=TrueThen

Text2.Text=Cos(x*3.14/180)

EndIf

IfOption3.Value=TrueThen

Text2.Text=Tan(x*3.14/180)

EndIf

EndSub

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

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

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

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