vb第四章选择结构和循环结构编程题.docx

上传人:b****6 文档编号:7621452 上传时间:2023-01-25 格式:DOCX 页数:15 大小:17.52KB
下载 相关 举报
vb第四章选择结构和循环结构编程题.docx_第1页
第1页 / 共15页
vb第四章选择结构和循环结构编程题.docx_第2页
第2页 / 共15页
vb第四章选择结构和循环结构编程题.docx_第3页
第3页 / 共15页
vb第四章选择结构和循环结构编程题.docx_第4页
第4页 / 共15页
vb第四章选择结构和循环结构编程题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

vb第四章选择结构和循环结构编程题.docx

《vb第四章选择结构和循环结构编程题.docx》由会员分享,可在线阅读,更多相关《vb第四章选择结构和循环结构编程题.docx(15页珍藏版)》请在冰豆网上搜索。

vb第四章选择结构和循环结构编程题.docx

vb第四章选择结构和循环结构编程题

第四章编程题

1.查询分数题

PrivateSubForm_Load()

x=Val(InputBox("请输入分数","输入",0))

SelectCasex

CaseIs<0

Label1.Caption="输入有误"

CaseIs>100

Label1.Caption="输入有误"

CaseIs>=90

Label1.Caption="优秀"

CaseIs>=80

Label1.Caption="良好"

CaseIs>=70

Label1.Caption="一般"

CaseIs>=60

Label1.Caption="及格"

CaseIs<60

Label1.Caption="不及格"

EndSelect

EndSub

2.求最大公约数题

PrivateSubCommand1_Click()

DimmAsInteger,nAsInteger,pAsInteger

m=Val(Text1.Text)

n=Val(Text2.Text)

Ifm<0Orn<0Then

MsgBox"数据错误!

"

End

EndIf

p=mModn

DoWhilep<>o

m=n

n=p

p=mModn

Loop

Text3.Text=n

EndSub

2.1最小公倍数

PrivateSubCommand1_Click()

DimmAsInteger,nAsInteger,pAsInteger,tAsInteger

m=Val(Text1.Text)

n=Val(Text2.Text)

t=m*n

Ifm<0Orn<0Then

MsgBox"数据错误!

"

End

EndIf

Ifm=0Orn=0Then

Text3.Text=0

Else

Do

p=mModn

Ifp=0Then

ExitDo

EndIf

m=n

n=p

LoopUntilFalse

Text3.Text=t/n

EndIf

EndSub

3.九九乘法表

PrivateSubCommand1_Click()

DimIAsInteger,JAsInteger,MAsInteger,sAsString

ForI=1To9

s=""

ForJ=1ToI

M=I*J

s=s&J&"*"&I&"="&M&""

NextJ

List1.AddItems

NextI

EndSub

4.求ABCD—CDC=ABC题

PrivateSubCommand1_Click()

Fora=1To9:

Forb=0To9

Forc=1To9:

Ford=0To9

x=a*1000+b*100+10*c+d

y=c*100+d*10+c

z=a*100+b*10+c

Ifx-y=zThen

Printx;y;z

EndIf

Next

Next

Next

Next

EndSub

5.求前100项和,平均数题

PrivateSubForm_click()

n=1:

s=0

DoWhilen<=100

s=s+n

n=n+1

Loop

Prints,n-1,s/(n-1),s*(n-1)

EndSub

6.输入10个数找出正数,负数,零的个数

PrivateSubCommand1_Click()

Dimi,t,x1,x2,x3AsInteger

Fori=1To10

t=Val(InputBox("请输入第"&i&"个数:

","显示",0))

Ift>0Then

x1=x1+1

ElseIft<0Then

x2=x2+1

Else

x3=x3+1

EndIf

Next

Print"正数的个数:

"&x1

Print"负数的个数:

"&x2

Print"零的个数:

"&x3

EndSub

7.Fibonacci数列(用数组做)

PrivateSubForm_Load()

Fori=1To30

List1.AddItemFib(i)

Next

EndSub

PrivateFunctionFib(n)

Ifn<3Then

Fib=1

Else

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

EndIf

EndFunction

PrivateSubList1_Click()

List1.AddItem=Fib

EndSub

8.输入十个数打印并找出最大数,最小数

PrivateSubCommand1_Click()

Dima(9),i,max,minAsInteger

Fori=0To9

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

"))

Printa(i);

Next

max=a(0)

Fori=0To9

Ifa(i)>maxThenmax=a(i)

Ifa(i)

Next

Print

Print

Print

Print"最大数为:

"&max;"最小数为:

"&min

EndSub

9.100元换成40张等值的10,5,2,1的钱的题

PrivateSubCommand1_Click()

Forx=1To10

Fory=1To20

Forz=1To50

w=40-x-y-z

If10*x+5*y+2*z+w=100Andx*y*z*w>0Then

h=Format(x,"@@@@")&Format(y,"@@@@@")_

&Format(z,"@@@@@")&Format(w,"@@@@@")

List1.AddItemh

EndIf

Nextz

Nexty

Nextx

EndSub

10.找出三位数的回文数并打印,并求其个数

PrivateSubCommand1_Click()

DimnAsInteger

Forn=101To999

a=Int(n/100)

b=Int((n-a*100)/10)

c=n-a*100-b*10

Ifa=cThenList1.AddItemn

Next

PrintList1.ListCount

EndSub

10-2回文字判断

1)按定义判断

先求出字符串的反序字符串,然后和原字符串比较,如果相等则是回文,否则不是回文。

DimstrAsString,iAsInteger

'以下求Text1中文本的反序串str

Fori=1ToLen(Text1)

str=Mid(Text1,i,1)&str

Nexti

Ifstr=Text1ThenMsgBox"是回文"ElseMsgBox"不是回文"

(2)首尾字符的成对比较

将字符串折半比较,若每对字符都相等则是回文,否则只要有一对字符不等就不是回文。

DimiAsInteger

Fori=1ToLen(Text1)\2

IfMid(Text1,i,1)<>Mid(Text1,Len(Text1)-i+1,1)ThenExitFor

Nexti

Ifi>Len(Text1)\2ThenMsgBox"是回文"ElseMsgBox"不是回文"

11.求1-10之间阶乘题

PrivateSubCommand1_Click()

DimiAsInteger,sAsDouble

i=1

DoWhilei<=10

s=1

Forj=1Toi

s=s*j

Nextj

Printi;"!

=";s

i=i+1

Loop

EndSub

12.水仙花题

PrivateSubCommand1_Click()

DimiAsInteger,mAsInteger

Fori=100To999

m=(iMod10)^3+_

(i\10Mod10)^3+(i\100)^3

Ifm=iThenPrinti

Nexti

EndSub

PrivateSubCommand2_Click()

Fora=1To9:

Forb=0To9:

Forc=0To9

x=a*100+b*10+c

Ifx=a^3+b^3+c^3Then

Printx

EndIf

Next

Next

Next

EndSub

13.打印菱形

PrivateSubCommand1_Click()

Fori=1To5

PrintSpc(6-i);

Forj=1Toi

PrintSpc

(1);"*";

Nextj

Print

Nexti

Fori=5To1Step-1

PrintSpc(6-i);

Forj=1Toi

PrintSpc

(1);"*";

Nextj

Print

Nexti

EndSub

14.用Do循环设计例4.11中的s=1×2×3×…×n的值,其中n由输入对话框获得。

PrivateSubCommand1_Click()

n=InputBox("请输入n的值:

","输入")

s=1

i=1

Do

Ifi>Val(n)ThenExitDo

s=s*i

i=i+1

Loop

MsgBox"s="+Str(s),0,"计算结果"

EndSub

15.求由数字0、1、2、3、4组成的所有无重复数字的3位正整数。

PrivateSubCommand1_Click()

DimaAsInteger,bAsInteger,cAsInteger,nAsInteger

Fora=1To4

Forb=0To4

Forc=0To4

Ifa<>bAndb<>cAnda<>cThen

Printa*100+b*10+c;或为List1.AddItema*100+b*10+c

n=n+1

IfnMod5=0ThenPrint

EndIf

Nextc

Nextb

Nexta

EndSub

课后题

1.

PrivateSubCommand1_Click()

x=Val(InputBox("请输入一个数","显示",0))

Ifx>0Thenx=MsgBox("是正数",48,显示)

Ifx=0Thenx=MsgBox("是零",48,显示)

Ifx<0Thenx=MsgBox("是负数",64,显示)

EndSub

2.

PrivateSubCommand1_Click()

DimaAsSingle

DimbAsSingle

DimcAsSingle

DimtAsSingle

a=Val(InputBox("请输入第一个数","从大到小排序",0))

b=Val(InputBox("请输入第二个数","从大到小排序",0))

c=Val(InputBox("请输入第三个数","从大到小排序",0))

Ifa

a=b:

b=t

Ifa

a=c:

c=t

Ifb

b=c:

c=t

Print"从大到小的顺序为:

";a;b;c

EndSub

3.

PrivateSubCommand1_Click()

StaticnAsInteger

x=Text1.Text

Ifx="123"Then

Label1.Caption="欢迎进入本系统"

Else

Label1.Caption="输入错误"

n=n+1

Ifn=3ThenEnd

EndIf

EndSub

PrivateSubCommand2_Click()

Text1.Text=""

EndSub

4.

PrivateSubCommand1_Click()

IfLeft(Text1.Text,2)=1Then

Text2.Text="一年级"

Else

IfLeft(Text1.Text,2)=2Then

Text2.Text="二年级"

Else

IfLeft(Text1.Text,2)=3Then

Text2.Text="三年级"

Else

IfLeft(Text1.Text,2)=4Then

Text2.Text="四年级"

Else

Text2.Text="输入错误"

EndIf

EndIf

EndIf

EndIf

IfMid(Text1.Text,5,1)=2Then

Text3.Text="博士生"

Else

IfMid(Text1.Text,5,1)=3Then

Text3.Text="硕士生"

Else

IfMid(Text1.Text,5,1)=4Then

Text3.Text="本科生"

Else

IfMid(Text1.Text,5,1)=5Then

Text3.Text="专科生"

Else

Text3.Text="输入错误"

EndIf

EndIf

EndIf

EndIf

EndSub

5.

PrivateSubCommand1_Click()

DimxAsInteger

Forx=100To200

IfxMod3=0OrxMod5=0Then

List1.AddItemx

EndIf

Next

PrintList1.ListCount

EndSub

6.

PrivateSubCommand1_Click()

a=1:

b=1

List1.AddItema

List1.AddItemb

Forn=1To28

c=a+b

a=b

b=c

List1.AddItemc

Next

EndSub

7.完备数

PrivateSubCommand1_Click()

Dimm,i,j,s

j="结果:

"

Form=2To1000

s=0

Fori=1Tom-1

IfmModi=0Thens=s+i

Next

Ifs=mThenj=j&m&","

Next

Printj

EndSub

PrivateSubCommand2_Click()

DimmAsInteger,sAsInteger

Form=2To1000

s=0

Fori=1Tom-1

IfmModi=0Thens=s+i

Next

Ifs=mThenPrintm

Next

EndSub

8.

PrivateSubCommand1_Click()

Timer1.Enabled=True

Timer1.Interval=1000

EndSub

PrivateSubTimer1_Timer()

Text1.Text=Val(Text1.Text)-1

IfText1.Text=0Then

y=MsgBox("预定时间到了",64,"倒计时")

End

EndIf

EndSub

9.

PrivateSubOption1_Click()

r=Val(Text1.Text)

s=3.*r^2

Print"圆的面积为:

"&s

EndSub

PrivateSubOption2_Click()

r=Val(Text1.Text)

c=2*3.*r

Print"圆的周长为:

"&c

EndSub

10.

PrivateSubCombo1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then

Fork=0ToCombo1.ListCount-1

IfCombo1.Text=Combo1.List(k)Then

Label1.Caption="输入项已存在组合框中"

ExitSub

EndIf

Nextk

Combo1.AddItemCombo1.Text

Label1.Caption="已添加输入项"

EndIf

EndSub

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

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

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

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