vbcode.docx

上传人:b****5 文档编号:30170919 上传时间:2023-08-05 格式:DOCX 页数:21 大小:30.42KB
下载 相关 举报
vbcode.docx_第1页
第1页 / 共21页
vbcode.docx_第2页
第2页 / 共21页
vbcode.docx_第3页
第3页 / 共21页
vbcode.docx_第4页
第4页 / 共21页
vbcode.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

vbcode.docx

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

vbcode.docx

vbcode

1在窗体上输出所有的“水仙花数”,并按照一行5个的格式输出。

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

例如:

153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。

代码:

PrivateSubForm_Load()

DimnAsInteger

DimiAsInteger

DimgAsInteger

DimsAsInteger

DimbAsInteger

n=1

Fori=100To999Step1

g=iMod10

s=((iMod100)-g)/10

b=(i-10*s-g)/100

Ifi=g^3+s^3+b^3Then

Ifn=6Then

Print

n=1

EndIf

Printi;

n=n+1

EndIf

Next

EndSub

2在TextBox任意输入x的值,将f(x)输出的结果用Msgbox函数输出。

代码:

PrivateSubTextBox1_Change()

MsgBoxf(Val(TextBox1.Text))

EndSub

Functionf(x)

Ifx<0Andx<>-3Then

f=x^2+x-6

ElseIfx<10Andx<>2Andx<>3Then

f=x^2-5*x+6

Else

f=x^2-x-1

EndIf

EndFunction

3编写一个程序,在2个TextBox中输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦,将结果用Msgbox输出。

(1)标准体重=身高-110;

(2)超过标准体重5kg为过胖;(3)低于标准体重5kg为过瘦。

代码:

PrivateSubCommand1_Click()

MsgBoxf(Val(Text1),Val(Text2))

EndSub

Functionf(h,w)

DimtemAsSingle

DimxAsSingle

tem=h-110

x=tem-w

Ifx<-5Then

f="过胖"

ElseIfx>5Then

f="过瘦"

Else

f="标准"

EndIf

EndFunction

4征兵的条件是:

男性(sex)年龄(age)在18~20之间,身高(size)在1.65米以上;或者女性(sex)年龄(age)在16~18之间,身高(size)在1.60米以上。

用三个文本框控件分别输入性别、年龄、身高信息,根据这些信息判断是否符合征兵条件,用Msgbox函数输出结果。

代码:

PrivateSubCommand1_Click()

MsgBoxf(Text1.Text,Val(Text2),Val(Text3))

EndSub

Functionf(sex,age,size)

Ifsex="男"Andage>=18Andage<=20Andsize>=1.67Then

f="合格"

ElseIfsex="女"Andage>=16Andage<=18Andsize>=1.6Then

f="合格"

Else

f="不合格"

EndIf

EndFunction

5编程在窗体上输出101~500之间的所有能被3或者7整除的奇数,按照一行5个的方式输出并最后符合要求的数的和。

代码:

PrivateSubForm_Load()

DimsumAsInteger

DimnAsInteger

sum=0

n=1

Fori=101To500Step1

If(iMod3=0OriMod7=0)And(iMod2<>0)Then

Ifn=6Then

Print

n=1

EndIf

Printi;

sum=sum+i

n=n+1

EndIf

Next

Print

Print"sum=";sum

EndSub

6在TextBox中输入一个正整数n,计算

的值并在窗体上输出结果。

代码:

PrivateSubForm_DblClick()

Label3.Caption=f(Val(Text1))

EndSub

Functionf(n)

DimsumAsSingle

sum=0

Ifn<=0Then

f="n必须为正整数"

Else

Fori=1Ton

sum=sum+jc(i)/(i+2)

Next

f=sum

EndIf

EndFunction

Functionjc(n)

DimsAsInteger

s=1

Fori=1Ton

s=s*i

Next

jc=s

EndFunction

 

7在4个TextBox中输入4个大小不同的数,将它们从大到小排序后的结果用Msgbox函数输出。

代码:

PrivateSubCommand1_Click()

Dima(3)AsInteger

DimtempAsInteger

DimstAsString

temp=0

a(0)=Val(Text1)

a

(1)=Val(Text2)

a

(2)=Val(Text3)

a(3)=Val(Text4)

i=0

DoWhilei<3

j=i+1

Ifa(i)>a(j)Then

temp=a(i)

a(i)=a(j)

a(j)=temp

EndIf

i=i+1

Loop

Fori=3To0Step-1

st=st&a(i)&">"

Next

MsgBoxst

EndSub

8求1-2!

+3!

-4!

...序列,当最后的结果超过2000000停止计算,将该序列的最结果用Msgbox函数输出。

代码:

PrivateSubCommand1_Click()

DimsumAsSingle

DimiAsInteger

i=1

sum=0

DoWhilesum<2000000

IfiMod2=0Then

sum=sum-jc(i)

Else

sum=sum+jc(i)

EndIf

i=i+1

Loop

MsgBoxsum

EndSub

Functionjc(n)

DimsAsSingle

s=1

Fori=1Ton

s=s*i

Next

jc=s

EndFunction

9.找到10000到99999中的所有回文数,并按照一行10个的格式在窗体上输出,例如12321是回文数,个位与万位相同,十位与千位相同。

代码:

PrivateSubForm_Load()

DimsumAsInteger

DimnAsInteger

DimgAsInteger

DimsAsInteger

DimbAsInteger

DimqAsSingle

DimwAsInteger

n=1

Fori=10000To99999Step1

g=iMod10

s=((iMod100)-g)/10

b=(iMod1000-10*s-g)/100

q=(iMod10000-100*b-10*s-g)/1000

w=(i-1000*q-100*b-10*s-g)/10000

Ifg=wAndb=qThen

Ifn=11Then

Print

n=1

EndIf

Printi;

n=n+1

EndIf

Next

EndSub

 

10.求出1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数,在窗体上按照一行5个的格式输出。

代码:

PrivateSubForm_Load()

DimnAsInteger

n=1

Fori=1To1000Step1

If(iMod5=0OriMod13=0)And(iMod5*13<>0)Then

Ifn=6Then

Print

n=1

EndIf

Printi;

n=n+1

EndIf

Next

EndSub

11.在TextBox中输入一个正整数n,当n的值为偶数时,求1-1/2-1/4-...-1/n序列的和,当n为奇数时,求1-1/3-1/5...-1/n序列的和,将结果用Msgbox函数输出。

代码:

PrivateSubCommand1_Click()

DimsumAsSingle

DimnAsInteger

n=Val(Text1.Text)

sum=1

IfnMod2=0Then

Fori=2TonStep2

sum=sum-(1/i)

Next

Else

Fori=3TonStep2

sum=sum-(1/i)

Next

EndIf

MsgBox"结果为:

0"&sum

EndSub

12.已知abcd+dcba=3456,其中a,b,c,d均为一位正整数,编程求出满足条件的a,b,c,d所有组合,在Label上输出答案。

代码:

PrivateSubCommand1_Click()

DimaAsInteger

DimbAsInteger

DimcAsInteger

DimdAsInteger

DimmAsInteger

DimnAsInteger

DimstAsString

DimlabAsInteger

lab=0

Fora=1To9

Forb=1To9

Forc=1To9

Ford=1To9

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

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

Ifm+n=3456Then

lab=lab+1

st=a&""&b&""&c&""&d

Label3.Caption=Label3.Caption&st&"_"

EndIf

Next

Next

Next

Next

Iflab=0Then

Label3.Caption="满足条件的组合不存在!

"

EndIf

EndSub

13.求这样一个四位数并输出该数字,该四位数等于其每位数字的阶乘之和。

即:

abcd=a!

+b!

+c!

+d!

,将结果用Msgbox函数输出。

代码:

PrivateSubForm_Load()

DimgAsInteger

DimsAsInteger

DimbAsInteger

DimqAsSingle

DimnAsInteger

n=1

Fori=1000To9999Step1

g=iMod10

s=((iMod100)-g)/10

b=(iMod1000-10*s-g)/100

q=(iMod10000-100*b-10*s-g)/1000

Ifi=jc(q)+jc(b)+jc(s)+jc(q)Then

Printi;

EndIf

Next

Ifn=1Then

MsgBox"NoAnswer"

EndIf

EndSub

Functionjc(n)

DimsAsSingle

Fori=1Ton

s=1

s=s*i

Next

jc=s

EndFunction

 

14.编程找出满足下列条件的所有四位数并在窗体上按照一行10个的形式输出:

该数第一、三位数字之和为10,第二、四位数字之积为12。

代码:

PrivateSubForm_Load()

DimgAsInteger

DimsAsInteger

DimbAsInteger

DimqAsSingle

DimnAsInteger

n=1

Fori=1000To9999Step1

g=iMod10

s=((iMod100)-g)/10

b=(iMod1000-10*s-g)/100

q=(iMod10000-100*b-10*s-g)/1000

Ifg+b=10Andq*s=12Then

Ifn=11Then

Print

n=1

EndIf

Printi;

n=n+1

EndIf

Next

EndSub

15.编程输出所有满足如下条件的三位正整数:

它是某整数的平方,它的三位数码有两位是相同的,在窗体上按照一行5个的格式输出。

(如100是10的平方,它有两个0,225是15的平方,它有两个2)。

代码:

PrivateSubForm_Load()

DimnAsInteger

DimiAsInteger

DimgAsInteger

DimsAsInteger

DimbAsInteger

n=1

Fori=100To999Step1

g=iMod10

s=((iMod100)-g)/10

b=(i-10*s-g)/100

IfFix(Sqr(i))=Sqr(i)And(g=sOrg=bOrs=b)Then

Ifn=6Then

Print

n=1

EndIf

Printi;

n=n+1

EndIf

Next

EndSub

 

16.输出所有大于1010的4位偶数,且该类偶数的各位数字两两不相同,在窗体上按照一行5个的格式输出。

代码:

PrivateSubForm_Load()

DimgAsInteger

DimsAsInteger

DimbAsInteger

DimqAsSingle

DimnAsInteger

n=1

Fori=1010To9999Step1

IfiMod2=0Then

g=iMod10

s=((iMod100)-g)/10

b=(iMod1000-10*s-g)/100

q=(iMod10000-100*b-10*s-g)/1000

Ifg<>sAnds<>bAndb<>qAndq<>gAndq<>bAndg<>bAnds<>qThen

Ifn=6Then

Print

n=1

EndIf

Printi;

n=n+1

EndIf

EndIf

Next

EndSub

 

17.一位司机酒驾撞人逃跑。

现场三人目击事件,但都没记住车号,只记下车号的一些特征。

甲说:

牌照的前两位数字是相同的;乙说:

牌照的后两位数字是相同的;丙是位数学家,他说:

四位的车号刚好是一个整数的平方。

请根据以上线索求出车号。

(车号为4位正整数,结果在TextBox中输出)

代码:

PrivateSubForm_Load()

DimgAsInteger

DimsAsInteger

DimbAsInteger

DimqAsSingle

DimnumAsInteger

Fori=1000To9999Step1

g=iMod10

s=((iMod100)-g)/10

b=(iMod1000-10*s-g)/100

q=(iMod10000-100*b-10*s-g)/1000

Ifq=bAndg=sAndFix(Sqr(i))=Sqr(i)Then

num=i

EndIf

Next

Text1.Text=num

EndSub

 

18.用户利用InputBox函数随机输入12个0-100之间的整数,统计出小于60,60到70,70到80,80到90以及90到100范围的整数各有多少个?

用Msgbox函数显示输出结果。

代码:

PrivateSubCommand1_Click()

DimTempAsString

DimInputVal()AsString

DimintVal(100)AsInteger

DimlAsInteger

DimlsAsInteger

DimaAsInteger

a=0

DimbAsInteger

b=0

DimcAsInteger

c=0

DimdAsInteger

d=0

DimeAsInteger

e=0

Temp=InputBox("请输入数据,用逗号分隔:

")

InputVal=Split(Temp,",")

ls=UBound(InputVal)

Fori=0Tols

intVal(i)=Val(InputVal(i))

Next

Fori=0Tols

IfintVal(i)<60Then

a=a+1

ElseIfintVal(i)<70Then

b=b+1

ElseIfintVal(i)<80Then

c=c+1

ElseIfintVal(i)<90Then

d=d+1

ElseIfintVal(i)<100Then

e=e+1

EndIf

Next

Temp="小于60的"&a&"个,大于等于60小于70的"&b&"个,大于等于70小于80的"&c&"个,大于等于80小于90的"&d&"个,大于等于90小于100的"&e&"个"

MsgBoxTemp

EndSub

19.编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数字之和。

结果利用Msgbox函数输出。

代码:

PrivateSubCommand1_Click()

DimaAsInteger

DimbAsInteger

DimsumAsSingle

sum=0

DimbwAsInteger

DimgAsInteger

DimsAsInteger

a=Val(Text1.Text)

b=Val(Text2.Text)

sum=a^2+b^2

Ifsum>100Then

g=sumMod10

s=((sumMod100)-g)/10

sum=(sum-g-10*s)/100

MsgBoxsum

Else

MsgBoxsum

EndIf

EndSub

20.猜数游戏:

由计算机随机产生一个2位正整数让人来猜,只能猜8次,如果人猜对了,则利用Msgbox函数显示计算机随机产生的该2位正整数并显示“Youaresoclever”,否则利用Msgbox函数给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止,或者8次都猜不对给出提示“GameOver”。

代码:

DimguessAsInteger

DimaAsInteger

DimcAsInteger

PrivateSubCommand2_Click()

guess=num()

DoWhileguess<10Orguess>99

guess=num()

Loop

EndSub

Functionnum()

Randomize

num=Int((100)*Rnd+1)

EndFunction

PrivateSubCommand1_Click()

IfVal(Text1.Text)=guessThen

MsgBoxguess&"youaresoclever"

ElseIfVal(Text1.Text)>guessThen

MsgBox"偏大"

Text1.Text=""

Text1.SetFocus

Else

MsgBox"偏小"

Text1.Text=""

Text1.SetFocus

EndIf

Ifc=7Then

MsgBox"Gameover"

EndIf

c=c+1

EndSub

 

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

当前位置:首页 > 经管营销 > 财务管理

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

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