VB调试题Word格式文档下载.docx

上传人:b****6 文档编号:16998555 上传时间:2022-11-27 格式:DOCX 页数:50 大小:31.58KB
下载 相关 举报
VB调试题Word格式文档下载.docx_第1页
第1页 / 共50页
VB调试题Word格式文档下载.docx_第2页
第2页 / 共50页
VB调试题Word格式文档下载.docx_第3页
第3页 / 共50页
VB调试题Word格式文档下载.docx_第4页
第4页 / 共50页
VB调试题Word格式文档下载.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

VB调试题Word格式文档下载.docx

《VB调试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VB调试题Word格式文档下载.docx(50页珍藏版)》请在冰豆网上搜索。

VB调试题Word格式文档下载.docx

打印由#组成的菱形图案

#

###

#####

#######

#########

DimiAsInteger,jAsInteger

DimstartAsString'

每行起始空格数

DimcountAsInteger'

每行#个数

Fori=1To9

Ifi<

=5Then

------1------

count=2*i-1

start=Space(11+i)

-------2------

------3------

Forj=1Tocount

Form1.Print"

#"

;

Nextj

------4------

Nexti

[题3]过程pyramid用以打印一个数字金字塔,请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。

1.start=space(10+i)2.num=19-2*i3.Form1.PrintTrim(Str(i));

OptionExplicit

PublicSubpyramid()

打印数字金字塔

1

222

33333

4444444

555555555

6666666

77777

888

9

DimiAsInteger

DimjAsInteger

DimnumAsInteger'

每行数字个数

start=Space(20-i)

num=2*i-1

start='

num='

------2------

Form1.Printstart;

Forj=1Tonum

[题4]改错。

1.Fori=9To1step–12.Forj=1to2*(10-i)-13.Form1.PrintTtrim(Str(i));

打印由数字组成的如下所示金字塔图案

44444444444

3333333333333

222222222222222

111111*********11

DimiAsInteger,jAsInteger

******错误1******

Fori=9To1

Form1.PrintSpace(i);

******错误2******

Forj=1To2*i-1

******错误3******

Form1.Printi

Form1.Print

[题5]计算s=7+77+777+……+(n个7组成的数)。

1.number(i)2.nasinteger3.number=number*10+7

PublicSubtotal()

计算s=7+77+777+……+(n个7组成的数)

Constn=20

DimsAsSingle

Fori=1Ton

s=s+'

-------1------

s="

s

PublicFunctionnumber('

------2-------)AsSingle

number=0

EndFunction

[题6]Modify.bas模块中的过程eat用于计算猴子共摘了多少个桃子。

1.12.–13.x=(x+1)*2

PublicSubeat()

该过程是用于计算猴子共摘了多少个桃子。

(小猴在一天摘了若干个桃子,当天吃掉了一半多一个;

第二天吃了剩下的一半多一个;

以后每天都吃尚存的一半零一个,到第7天早上要吃时只剩下一个了),

并将结果输出来。

Dimn%,i%,x%

x=1

fori=6to---1----step----2----

-----3----

共有"

x;

"

个桃子"

[题7]Modify.bas模块中的Prime过程是求出100到200之间所有的素数,并打印出来。

1.k=22.b=false3.k=k+14.b

PublicSubprime()

打印出100到200之间所有的素数,并统计素数的个数

DimkAsInteger

DimtAsInteger'

统计素数的个数

DimbAsBoolean

Fori=100To200

b=True

------1-------

j=Int(Sqr(i))

DoWhilek<

=jAndb

IfiModk=0Then

------2------

------3------

Loop

if------4-------then

t=t+1

Form1.Print"

t="

t

Endsub

[题8]过程even用以验证一个偶数可以分解为两个素数之和;

Isprime用以判断x是否是素数。

1.DoWhilex<

=4orxmod2<

>

02.Ifisprime(i)andisprime(x-i)

3.isprime=true4.ifxmodi=0then

PublicSubeven()

从键盘输入一个大于4的偶数,将它所有的不重复的分解式求出

DimxAsInteger

------1------'

保证x是大于4的偶数

x=Val(InputBox("

x="

))

Fori=3Tox/2Step2'

在不大于x的奇数中找素数

Form1.Printx;

="

i;

+"

x-i

PublicFunctionIsprime(xAsInteger)AsBoolean

Fori=2Tox-1

Isprime=False

ExitFor

[题9]Modify.bas模块中的find过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。

1.n+12.nmod3=1andnmod5=1andnmod7=13.WhilecountN<

5

PublicSubfind()

该过程是用于找出被3、5、7除,余数为1的最小的5个整数,并将结果输出来。

DimcountN%,n%

countN=0

n=1

Do

n=----1----

if-----2----then

Form1.Printn

countN=countN+1

Loop----3-----

[题10]Modify.bas模块中的过程rn通过调用函数isLeapYear判断某年是否是闰年,若是,则打印"

今年是闰年"

否则打印"

今年不是闰年"

闰年的判断方法是:

凡是年份不能被4整除的都不是闰年,而且如果年份能被100整除但不能被400整除的也不是闰年。

1.isleapyear(year)2.ymod4<

03.ymod100=04.ymod400<

PublicSubrn()

该过程通过调用函数isLeapYear判断某年是否是闰年,若是,则打印"

今年是润年"

否则,打印"

Constyear=2023

If----1----Then

EndSub

FunctionisLeapYear(yAsInteger)AsBoolean

If----2----Or(----3----And----4----)Then

isLeapYear=False

isLeapYear=True

[题11]Modify.bas模块中的CountTo60过程是用于从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分,要求输出取法的数量及每一种取法的一分、二分、五分的个数。

请建立工程将Modify.bas模块加入工程中进行调试。

注意:

只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。

1.Fortwo=1Ton-one2.Ifone+two*2+five*5=60Then3.Nexttwo4.Nextone

从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分

输出取法的数量及每一种取法的一分、二分、五分的个数

DimoneAsInteger'

一分硬币个数

DimtwoAsInteger'

二分硬币个数

DimfiveAsInteger'

五分硬币个数

Constn=20'

总数20枚

DimkAsInteger'

取法数量

k=0

Forone=1Ton

*******错误1********

Fortwo=one+1Ton

five=n-one-two

*******错误2*********

Ifone+two+five=60Then

k=k+1

one="

one;

two="

two;

five="

five

*******错误3********

Nextone

******错误4******

Nexttwo

k="

k

[题12]过程same用以找出1—100之间所有的同构数。

所谓同构数是指一个数出现在它的平方数的右端,如25在25平方625的右端,则25为同构数。

利用数字转字符再取出右端字符的方法进行判断。

1.Trim(Str(i))2.Trim(Str(i^2))3.x1=Right(x2,Len(x1))

PublicSubsame()

DimxAsString,x2AsString

Fori=1To1000

x1='

将i转字符型

x2='

------2------'

将i^2转字符型

if'

------3------Then

Form1.Printi;

是同构数"

[题13]Modify.bas模块中的ArmstrongNumber过程是用于求出1—999之间所有的Armstrong数,并打印出来。

所谓Armstrong数是指一个数等于它每位上数字的立方和。

1.i\1002.(Imod100)\103.(imod100)mod104.i=hundred^3+ten^3+one^3

PublicSubArmstrongNumber()

DimarmstrongAsInteger

DimhundredAsInteger'

百位上的数字

DimtenAsInteger'

十位上的数字

个位上的数字

Fori=1To999

hundred=----1----

ten=----2----

one=----3----

If----4----Then

isarmstrongnumber"

[题14]过程cloze用以求1~1000中的所有完数。

所谓完数是指一个数的所有因子之和等于其自身。

请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。

1.factori,n2.Ifi=sthen3.fori=2tox-14.a(k)=i

Dima(50)AsInteger'

存放每个数分解出来的因子

PublicSubcloze()

求1--100中的所有完数

DimnAsInteger'

因子个数

DimsAsInteger'

因子和

n=0

s=0

factor'

Forj=1Ton

s=s+a(j)

PublicSubfactor(ByValxAsInteger,ByRefkAsInteger)

a

(1)=1

k=1

IfxModi=0Then

[题15]Modify.bas模块中的Summary过程是用于计算并打印出s=1+2+2^2+2^3+……,直至s超过1E+16。

1.s=12.DoWhiles<

=1E+163.i=i+1

PublicSubsummary()

'

该过程是用于计算s=1+2+2^2+2^3+……,直至s超过1E+16

------1------

i=1

------2------

s=s+2^i

------3------

[题16]Modify.bas模块中的qiuN过程是用于求出满足不等式1+2x+3x^2+4x^3+…+(n+1)x^n<

1000的最大n值。

其中x是大于等于1的实数,其值由键盘输入。

PublicSubqiuN()

该过程是用于求出满足不等式1+2x+3x^2+4x^3+…+(n+1)x^n<

1000的最大n值,

DimxAsSingle,sAsSingle,nAsInteger,s1AsSingle,pAsSingle

s=1:

p=x

while----1----

s1=s

s=s+(n+1)*p

p=p*----2----

n=----3----

Wend

n=----4-----

form1.Print"

TheMaxismofn"

n,"

s1

[题17]sum过程用于计算f=1-1/(2*3)+1/(3*4)-1/(4*5)+……+1/(19*20),请在横线上填入必要的内容。

1.sign=-12.Fori=2To193.sign=-sign

PublicSubsum()

DimfAsSingle

DimsignAsInteger

f=1

f=f+sign/(i*(i+1))

f="

f

[题18]Modify.bas模块中的JiSuan过程是用于计算1-(1/2)+(1/3)-……+(1/99)-(1/100)的值并打印出来。

1.Dimkassingle2.Fori=1To100Step23.k=-1/(i+1)

PublicSubJiSuan()

计算1-(1/2)+(1/3)-...+(1/99)-(1/100)的值并打印出来

******错误1*******

*******错误2*******

Fori=1To100

k=1/i

s=s+k

*******错误3*******

k=1/i+1

[题19]Modify.bas模块中的summary过程是用于计算1!

+2!

+…+20!

,并打印出计算结果,但不完整,请在横线上填入必要的内容,使其完整。

Modify.bas模块中的nFaction函数过程用于计算n!

1.temp=12.temp3.nfactor(i)4.sum

PublicFunctionnFactor(ByValnAsInteger)AsDouble

DimtempAsDouble

----1----

temp=temp*i

nFactor=----2----

DimsumAsDouble

DimnAsInteger

n=20

sum=sum+----3----

sum="

&

----4----

[题20]Modify.bas模块中的find过程是用于从1到10000中找出这样的数,该数各个位的数字的阶乘相加之和等于该数,并将结果输出。

其中阶乘由fact函数计算。

1.1toLen(a)2.n+fact(p)3.fact=y

该过程是用于从1到10000中找出这样的数,

该数各个位的数字的阶乘相加之和等于该数,并将结果输出。

Dimk,a,n,i

DimpAsInteger

Fork=1To10000

a=LTrim(Str(k))

Fori=----1-----

p=Val(Mid(a,i,1))

n=-----2----

Ifn=kThenform1.Printk

Nextk

F

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

当前位置:首页 > PPT模板 > 节日庆典

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

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