✅ 操作成功!

vb程序设计

发布时间:2023-06-17 作者:admin 来源:文学

vb程序设计

vb程序设计

引黄-公司采购单模板

2023年3月20日发(作者:浮力怎么算)

3.题目:(事件)单击窗体。(响应)求一个数(该数为1000以内的数),它除3余2,除5余3,

除7余2,请将满足上面条件的最小数保存到sum变量中。使用for...next语句完成程序

DimiAsInteger

Fori=2To1000

IfiMod3=2AndiMod5=3AndiMod7=2Then

Printi

ExitFor

EndIf

Nexti

sum=i

4.题目:(事件)单击窗体。(响应)求10!的值,并将结果输出到窗体上。将结果存入变量

SUM中。

DimiAsInteger

sum=1

Fori=1To10

sum=sum*i

Next

Printsum

7.题目:(事件)单击窗体。(响应)求1+2+3+……+100的值,并把结果输出在窗体上。结果

存入变量SUM中。

DimiAsInteger

Fori=1To100

sum=sum+i

Next

Printsum

9.题目:(事件)单击窗体。(响应)求1!+2!+3!+4!+5!并将结果输出到窗体上。结果存入变

量S中

Dimi,j,kAsInteger

Fori=1To5

k=1

Forj=1Toi

k=k*j

Next

s=s+k

Next

Print(CStr(s))

11.题目:(事件)单击命令按钮Command1。(响应)计算如下表达式s的值,

s=1+(1*2)+(1*2*3)+……+(1*2*3*……*6)并将结果输出到文本框Text1中。

DimjAsInteger

DimiAsInteger

j=1

s=0

Fori=1To6

j=j*i

s=s+j

Nexti

=s

13.题目:(事件)双击窗体。(响应)求1+5+10+15+……+500的和,并将结果输出到窗体上。

将结果存入变量SUM中。

DimiAsInteger

Fori=1To500

IfiMod5=0Then

sum=sum+i

EndIf

Next

Printsum

14.题目:(事件)单击窗体。(响应)已知S=1+1/4+1/9+1/16+1/25+…+1/100,结果输出在

窗体上。

DimiAsInteger

s=0

Fori=1To10

s=s+1/(i^i)

Next

Print(s)

15.题目:(事件)双击窗体。(响应)求3+6+9+12+15+18+……+300的和,并将结果输出到窗

体上。将结果存入变量SUM中。

DimiAsInteger

Fori=3To300

IfiMod3=0Then

sum=sum+i

EndIf

Next

Printsum

19.题目:请用Select语句编程计算打折后的金额?

'折扣方法如下:

'购物300以下,无优惠(使用MsgBox显示"无优惠");

'购物300以上,95折;

'购物500以上,9折;

'购物1000以上,85折;

'购物5000以上,8折?

SelectCasen

CaseIs>5000

n=n*0.8

CaseIs>1000

n=n*0.85

CaseIs>500

n=n*0.9

CaseIs>300

n=n*0.95

CaseElse

MsgBox"无优惠"

EndSelect

20.题目:(事件)单击窗体。(响应)求200~300之间既能被3整除又能被7整除的数。并求出所

有数之和存入变量SUM中

DimiAsInteger

Fori=201To300

If((iMod3)=0)And((iMod7)=0)Then

Print(CStr(i))

sum=sum+i

EndIf

Next

Printsum

21.题目:(事件)单击窗体。(响应)求从100到1000之间所有是3的倍数的数之和,当和大

于3000时,停止计算并输出和。请将结果输出到窗体上,并存入所给变量SUM中。使用

for...next语句完成程序

DimiAsInteger

sum=0

fori=100to1000

ifimod3=0then

sum=sum+i

ifsum>3000then

exitfor

endif

endif

next

Printsum

22.题目:(事件)双击窗体。(响应)求出100~200之间,能被5整除,但不能被3整除的数。

并求所有数之和,存入变量中SUM中。

DimiAsInteger

Fori=100To200

If((iMod5)=0)And((iMod3)0)Then

Print(CStr(i))

sum=sum+i

EndIf

Next

25勾股定理中3个数的关系是a2+b2=c2。编写程序,输出20以内满足上述关系的整数组合。

PrivateSubForm_Click()

DimaAsInteger

DimbAsInteger

DimcAsInteger

Fora=1To20

Forb=1To20

Forc=1To20

Ifa^2+b^2=c^2Then

Print"a=";a,"b=";b,"c=";c

EndIf

Nextc

Nextb

Nexta

EndSub

26打印如下金字塔

PrivateSubForm_Click()

DimiAsInteger

DimjAsInteger

Fori=1To9

PrintSpc(-3*i+30);

Forj=1Toi

Printj;

Next

Forj=i-1To1Step-1

Printj;

Next

Print

Next

EndSub

PrivateSubForm_click()

Dimi%,j%

Fori=0To8'外循环确定行数

PrintTab(27-3*i);'确定每行的起点

Forj=1Toi

Printj;'打印一行的前半递增数字部分

Nextj

Forj=i+1To1Step-1

Printj;'打印一行的后半递减数字部分

Nextj

Print'换行

Nexti

EndSub

28输入一个字符串,统计其中有多少个小写字母,多少个数字字符,多少个其他字符。

PrivateSubForm_Click()

DimstrAsString

DimxAsString

DimiAsInteger

Dimn1%,n2%,n3%

str=InputBox("请输入一个字符串")

Fori=1ToLen(str)

x=Mid(str,i,1)

SelectCasex

Case"a"To"z"

n1=n1+1

Case"1"To"9"

n2=n2+1

CaseElse

n3=n3+1

EndSelect

Next

Print"输入的字符串是:";str

Print"共有小写字母";n1;"个"

Print"共有数字字符";n2;"个"

Print"共有其他字符";n3;"个"

EndSub

29求一个数,它除3余2,除5余3,除7余2,求满足要求的最小自然数。

PrivateSubForm_Click()

'除3余2,除5余3,除7余2

DimnAsInteger

Forn=1To100

If(nMod3=2)And(nMod5=3)And(nMod7=2)Then

Print"这个数是";n

ExitFor

EndIf

Next

EndSub

30输入一个数,判断这个数是否既可以被3整除,又可以被5整除。

PrivateSubForm_Click()

'既可以被3整除,又可以被5整除

DimnAsInteger

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

IfnMod15=0Then

Print"这个数能够被3整除也能被5整除"

Else

Print"这个数不符合要求"

EndIf

EndSub

31寻找水仙花数。在100~999之间找出所有这样的数并输出:该数的值等于该数中各

位数字的立方和。(例如153=13+53+33)

PrivateSubForm_Click()

Forn=100To999

a=n100

b=(nMod100)10

c=nMod10

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

Printn;

x=x+1

IfxMod5=0ThenPrint

EndIf

Next

EndSub

32评分。在某次比赛中,有7个评委打分(由键盘输入7个评委的分数),去掉一个

最高分,去掉一个最低分后,求出平均分为该参赛者的最终得分。写程序实现。

DimnAsSingle

DimsAsSingle

Dimmax!,min!

Dimavg!

max=0

min=100

Fori=1To7

n=InputBox("请输入第"&i&"位评委的分数")

Ifn>maxThenmax=n

Ifn

s=s+n

Next

s=s-max-min

avg=s/5

Print"最高分是:",max

Print"最低分是:",min

Print"平均分是:",avg

EndSub

33.设有一个一维数组,数组长度由键盘输入。编写程序将数组逆序并输出。

PrivateSubForm_Click()

Dima()AsInteger,b()AsInteger

Dimn%

n=InputBox("请输入数组的长度")

ReDima(n)

Fori=1Ton

a(i)=Int(Rnd*101)

Printa(i);

Next

Print

ReDimb(n)

Fori=1Ton

b(i)=a(n-i+1)

Next

Print"逆序后的数组为:"

Fori=1Ton

Printb(i);

Next

EndSub

34.编写程序,用随机函数产生20个在[1,100]之间的正整数,找出其中的最大数和最

小数并输出,同时输出下标。

OptionBase1

PrivateSubForm_Click()

Dima(20)AsInteger

Dimm%,n%,i%,Max%,Min%

Randomize

Fori=1To20

a(i)=Int(Rnd*100)+1

Printa(i);

Next

Print

Max=a(1)

Min=a(1)

Fori=2To20

Ifa(i)>MaxThenMax=a(i):m=i

Ifa(i)

Next

Print"最大的数是:";Max;"最大数的下标是:";m

Print"最小的数是:";Min;"最小数的下标是:";n

EndSub

35.编写程序,显示斐波那契数列的第15项。(两种方法)斐波纳契数列(Fibonacci

Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……

PrivateSubForm_Click()

Dims1%,s2%,s%

s1=1

s2=1

Fori=3To15

s=s1+s2

s1=s2

s2=s

Next

Print"第15项是:";s

EndSub

38.题目:编写函数fun,其功能是:能计算从1开始到n的

'自然数中偶数的平方的和。

DimsumAsInteger,iAsInteger

sum=0

Fori=2TonStep2

sum=sum+i*i

Next

fun=sum

39.题目:编写函数fun其功能是:根据整型形参m,计算

'如下公式的值:y=1/2+1/4+1/6+...+1/2m

'例如:若m=9,则应输出:1.413

DimyAsDouble

DimiAsInteger

Fori=1Tom

y=y+1/(2*i)

Next

fun=y

40.题目:编写函数fun,函数的功能是:求从m到n的乘积并显示,

'如:m为2,n为4时,显示"24"

'存储连乘的乘积的变量必须为Product

'要求使用For语句来实现。

Product=1

Fori=mTon

Product=Product*i

Nexti

fun=Product

41.题目:编写函数fun,函数的功能是:求1~1000以内能

'同时被m、n整除的数的总和并显示。如:

'm为15,n为11时,显示"3465"

'存储总和的变量必须为Sum

‘要求使用For语句来实现。

Sum=0

Fori=1To1000

IfiModm=0AndiModn=0Then

Sum=Sum+i

EndIf

Nexti

fun=Sum

42.题目:编写函数fun,函数的功能是:求1~100以内

'能被m整除或能被n整除的数的总和并显示。如:

'm为15,n为11时,显示"810"

'存储总和的变量必须为Sum

'要求使用For语句来实现。

Sum=0

Fori=1To100

IfiModm=0OriModn=0Then

Sum=Sum+i

EndIf

Nexti

fun=Sum

3.题目:编写函数fun,函数的功能是:当x的初值为10,每年增长率为千分之

八,计算多少年以后x的值能达到y,并显示所需年数的值(变量名必须为n)。

要求使用DoWhile...Loop语句来实现。

答案:Functionfun(n%)

DimxAsInteger

DimyAsInteger

DimnAsInteger

x=10

DoWhilex<=y

x=x*1.008

n=n+1

fun=n

EndFunction

13.题目:(事件)单击窗体。(响应)求10~20之间所有素数的乘积并输出在窗体

上。将结果存入变量L中。

答案:DimiResAsLong

DimbFlagAsBoolean

iRes=1

Fori=10To20

bFlag=False

Forj=2Toi/2

IfiModj=0Then

bFlag=True

ExitFor

EndIf

Nextj

IfNotbFlagThen

iRes=iRes*i

EndIf

Nexti

PrintiRes

👁️ 阅读量:0