VB编程题完整版3.docx

上传人:b****5 文档编号:8134158 上传时间:2023-01-29 格式:DOCX 页数:16 大小:20.63KB
下载 相关 举报
VB编程题完整版3.docx_第1页
第1页 / 共16页
VB编程题完整版3.docx_第2页
第2页 / 共16页
VB编程题完整版3.docx_第3页
第3页 / 共16页
VB编程题完整版3.docx_第4页
第4页 / 共16页
VB编程题完整版3.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

VB编程题完整版3.docx

《VB编程题完整版3.docx》由会员分享,可在线阅读,更多相关《VB编程题完整版3.docx(16页珍藏版)》请在冰豆网上搜索。

VB编程题完整版3.docx

VB编程题完整版3

VB编程题完整版-3

(1)选择结构

(2)循环结构(3)数组(4)过程

1.输入3个数,输出最大的数

2.有一元二次方程:

aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根

3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!

成绩通过!

”,若小于60,则弹出消息框,显示“抱歉!

成绩没有通过!

4.输入一年份,判断它是否为闰年,并显示有关信息。

(判断闰年的条件是:

年份能被4整除但不能被100整除,或者能被400整除)

5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。

6.随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。

例如,产生246,输出是642。

7.输入两个整数,求它们的最大公约数。

8.编程求200--400范围内5的倍数或7的倍数之和。

(一个数如果同时是7和5的倍数,则只能加一次。

9.计算100~300之间所有能被3和7整除的数之和

10.分别统计1-100中,满足3的倍数、7的倍数的数各有多少。

11.某次歌曲大奖赛,有7个评委。

如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。

12.输入一串字符,统计其中字母A(不区分大小写)出现的次数。

13.我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。

14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?

15.求100以内的素数

16.百元买百鸡问题。

假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。

17.编程求斐波那契数列前11项。

(斐波那契数列:

F(0)=f

(1)=1,F(n)=F(n-1)+F(n-2)n>=2)

18.将输入的字符串以反序显示。

例如:

输入“ASDFGT”,显示“TGFDSA”

19.随机产生10个[30,100]内的整数,求最大值及所对应的下标

20.随机产生10个[30,100]内的整数,求最大值、最小值和平均值。

21.随机产生10个[30,100]内的整数,求最小值及所对应的下标。

22.随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。

23.随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。

24.利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和

25.已知有序数组a(),编程插入x(x的值为14)。

数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。

26.编写一函数,计算Double类型一维数组所有元素的平均值。

27.用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和.

28.编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。

29.编一个函数,求一维数组a中的最大值,函数的形参自己确定。

30.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。

调用该过程。

(提示:

只能被1和自身整除的自然数称为素数。

1.输入3个数,输出最大的数

PrivateSubCommand1_Click()

x=InputBox("键入第一个数")

y=InputBox("键入第二个数")

z=InputBox("键入第三个数")

Max=x

IfMax

IfMax

Print"最大值";Max

EndSub

2.有一元二次方程:

aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根

PrivateSubCommand1_Click()

Dima,b,c,n

a=Text1

b=Text2

c=Text3

n=b*b-4*a*c

Ifn>=0Then

Label1="方程有根"

Else

Label1="方程无根"

EndIf

EndSub

3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示“恭喜!

成绩通过!

”,若小于60,则弹出消息框,显示“抱歉!

成绩没有通过!

PrivateSubForm_Load()

Text1=""

EndSub

PrivateSubCommand1_Click()

Dimn

n=Text1

Ifn>60Then

Val(MsgBox("恭喜!

成绩通过!

"))

Else

Val(MsgBox("抱歉!

成绩没有通过!

"))

EndIf

EndSub

4.4输入一年份,判断它是否为闰年,并显示有关信息。

(判断闰年的条件是:

年份能被4整除但不能被100整除,或者能被400整除)

PrivateSubCommand1_Click()

  Dimy%

  y=Val(Text1)

  IfyMod4=0AndyMod100<>0OryMod400=0Then

  MsgBox(y&"年是闰年")

  Else

  MsgBox(y&"年不是闰年")

  EndIf

EndSub

5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。

PrivateSubCommand1_Click()

a=Val(InputBox("请输入成绩"))

Ifa>100ThenPrint"超出范围"

Ifa>=90Anda<=100ThenPrint"优秀"

Ifa>=80Anda<90ThenPrint"良好"

Ifa>=70Anda<80ThenPrint"中等"

Ifa>=60Anda<70ThenPrint"及格"

Ifa<60ThenPrint"不及格"

EndSub

6.随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。

例如,产生246,输出是642。

PrivateSubCommand1_Click()

  Dimx%,x1%,x2%,x3%

  Text1=Int(Rnd*900+100)

x=Val(Text1)

  x1=xMod10

  x2=(xMod100)\10

  x3=x\100

  Text2=x1*100+x2*10+x3

  EndSub

7.输入两个整数,求它们的最大公约数

privateSubCommand1_Click()

n1=InputBox("输入n")

m1=InputBox("输入m")

Ifm1>n1Then

m=m1:

n=n1

Else

m=n1:

n=m1

EndIf

r=mModn

DoWhiler<>0

m=n

n=r

r=mModn

Loop

Print"mn的最大公约数是:

";n

EndSub

8.编程求200--400范围内5的倍数或7的倍数之和。

(一个数如果同时是7和5的倍数,则只能加一次。

PrivateSubCommand1_Click()

  Dims1%,s2%,s3%,i%

  s1=0

  s2=0

  Fori=200To400

  IfiMod5=0OriMod7=0Then

  s1=s1+i

  EndIf

  Nexti

  Fori=200To400

  IfiMod5=0AndiMod7=0Then

  s2=s2+i

  EndIf

  Nexti

  s3=s1-s2

  Prints3

  EndSub

9、计算100~300之间所有能被3和7整除的数之和

PrivateSubCommand1_Click()

Dimi

Sum=0

Fori=100To300

IfiMod3=0AndiMod7=0Then

Sum=Sum+i

EndIf

Nexti

PrintSum

EndSub

10、分别统计1-100中,满足3的倍数、7的倍数的数各有多少。

PrivateSubCommand1_Click()

Dimi,s3,s7

s3=0

s7=0

Fori=1To100

IfiMod3=0Then

s3=s3+1

EndIf

Nexti

Fori=1To100

IfiMod7=0Then

s7=s7+1

EndIf

Nexti

Print"3的倍数";s3

Print"7的倍数";s7

EndSub

11、某次歌曲大奖赛,有7个评委。

如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。

PrivateSubCommand1_Click()

Dimmax,a(1To7),min,s

Fori=1To7

a(i)=Val(InputBox("输入第"&i&"个数"))

Nexti

max=a

(1)

min=a

(1)

s=a

(1)

Fori=2To7

Ifa(i)>maxThenmax=a(i)

Ifa(i)

s=s+a(i)

Nexti

s=s-min-max

s=s/5

Print"平均分";s

EndSub

12、输入一串字符,统计其中字母A(不区分大小写)出现的次数。

PrivateSubCommand1_Click()

DimcAsString,aAsInteger

b=InputBox("请输入字符")

Fori=1ToLen(b)

c=UCase(Mid(b,i,1))

Ifc="A"Then

a=a+1

EndIf

Nexti

Print"a出现的次数:

";a

EndSub

13、我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。

PrivateSubCommand1_Click()

Dima,i

a=13

i=0

DoWhilea<26

a=a*(1.008)

i=i+1

Loop

Printi

EndSub

14、小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?

PrivateSubCommand1_Click()

Dima,i

a=1

Fori=1To6

a=2*(a+1)

Nexti

Print"小猴原有桃";a;”只”

EndSub

15、求100以内的素数

PrivateSubCommand1_Click()

Dimi,j

Fori=2To100

Forj=2Toi-1

IfiModj=0ThenExitFor

Nextj

Ifj=iThenPrinti

Nexti

EndSub

16、百元买百鸡问题。

假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。

PrivateSubCommand1_Click()

Print"小鸡";"";"母鸡";"";"公鸡"

Print""

Forx=1To100

Fory=1To100

Forz=1To100

If0.5*x+2*y+3*z=100Then

Print"";x;"";y;"";z

EndIf

Nextz

Nexty

Nextx

EndSub

17、编程求斐波那契数列前11项。

(斐波那契数列:

F(0)=f

(1)=1,F(n)=F(n-1)+F(n-2)n>=2)

PrivateSubCommand1_Click()

DimF(11),iAsLong

F(0)=1

F

(1)=1

Fori=2To10

F(i)=F(i-1)+F(i-2)

Nexti

Fori=0To11

PrintF(i);

Nexti

EndSub

18、将输入的字符串以反序显示。

例如:

输入“ASDFGT”,显示“TGFDSA”

PrivateSubCommand1_Click()

Dima,b,c,d,n

a=InputBox("输入字符串")

n=Len(a)

Forb=1ToInt(n\2)

c=Mid(a,b,1)

Mid(a,b,1)=Mid(a,n-b+1,1)

Mid(a,n-b+1,1)=c

Nextb

Printa

EndSub

19、随机产生10个[30,100]内的整数,求最大值及所对应的下标

PrivateSubCommand1_Click()

Dima(1To10),m

Randomize

ForI=1To10

a(I)=Int(Rnd*71)+30

Printa(I)

NextI

Max=a

(1)

ForI=2To10

Ifa(I)>MaxThenMax=a(I):

m=I

NextI

Print"max=";Max

Print"max的下标为";m

EndSub

20、随机产生10个[30,100]内的整数,求最大值、最小值和平均值。

PrivateSubCommand1_Click()

Dima(1To10)

Randomize

Fori=1To10

a(i)=Int(Rnd*71)+30

Printa(i)

Nexti

Max=a

(1)

Min=a

(1)

Avg=a

(1)

Fori=2To10

Ifa(i)>MaxThenMax=a(i)

Ifa(i)

Avg=Avg+a(i)

Nexti

Avg=Avg/10

Print"max=";Max

Print"min=";Min

Print"avg=";Avg

EndSub

21、随机产生10个[30,100]内的整数,求最小值及所对应的下标。

PrivateSubCommand1_Click()

Dima(1To10),m

Randomize

ForI=1To10

a(I)=Int(Rnd*71)+30

Printa(I)

NextI

Min=a

(1)

ForI=2To10

Ifa(I)

m=I

NextI

Print"min=";Min

Print"min的下标为";m

EndSub

22、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。

PrivateSubCommand1_Click()

Fori=0To4

Forj=0Toi

Printa(i,j);"";

Nextj

Print

Nexti

EndSub

PrivateSubForm_Activate()

Dima%(4,4),i%,j%

Fori=0To4

Forj=0To4

a(i,j)=Int(Rnd*11+10)

Printa(i,j);"";

Nextj

Print

Nexti

EndSub

23、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。

PrivateSubForm_Click()

Dima(1To10)AsInteger,i%,maxa%,mina%,suma%

Fori=1To10

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

Printa(i);

Nexti

mina=a

(1)

maxa=a

(1)

suma=a

(1)

Fori=2To10

  Ifa(i)>maxaThenmaxa=a(i)

  Ifa(i)

  suma=suma+a(i)

Nexti

Print

Print"max=";maxa,"min=";mina,"aver=";suma/10

EndSub

24、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和

PrivateSubForm_Click()

Dima(3,3),sum%

Fori=0To3

Forj=0To3

a(i,j)=Int(Rnd*31+20)

Nextj

Nexti

Fori=0To3

Forj=0To3

Printa(i,j);

Nextj

Print

Nexti

Fori=0To3

Forj=0To3

sum=sum+a(i,j)

Nextj

Nexti

Print"sum=";sum

EndSub

25、已知有序数组a(),编程插入x(x的值为14)。

数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。

1.PrivateSubForm_Click()

Dima(),i%,n%

a=Array(12,6,4,89,75,63,100,20,31)

n=UBound(a)

Fori=0Ton

Printa(i);

Nexti

Print

Fori=5Ton

a(i-1)=a(i)

Nexti

n=n-1

ReDimPreservea(n)

Fori=0Ton

Printa(i);

Nexti

Print

EndSub

26、编写一函数,计算Double类型一维数组所有元素的平均值。

subfunctionxx(arrasdouble)asdouble

dimheasdouble

dimiasinteger

fori=lbound(arr)toubound(arr)

he=he+arr(i)

next

xx=he/(ubound(arr)-lbound(arr)+1)

endfunction

27、用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和.

functionsumfs(iasinteger)asdouble

dimsumsasdouble,jasinteger

forj=1toi

sums=sums+1/j

nexti

sumfs=sums

endfunction

28、编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。

PrivateSubCommand1_Click()

Dimi%,n%

Dima(10)AsInteger

Randomize

Fori=1To10

a(i)=Int(Rnd*101+400)

Print"a("&i&;")="&a(i)

Nexti

ProcMina()

EndSub

SubProcMin(b()AsInteger)

Dimi%,min%

min=b(LBound(b))

Fori=LBound(b)+1ToUBound(b)

Ifb(i)

Nexti

Print"数组中最小值为:

"&min

EndSub

29、编一个函数,求一维数组a中的最大值,函数的形参自己确定。

PrivateSubCommand1_Click()

Dima(1To10)AsInteger

DimI,bAsInteger

Randomize

ForI=1To10

a(I)=Format((Rnd*100+100),"000")

Printa(I)

b=max(Val(a(I)),b)

NextI

Print

Printb

EndSub

Functionmax(xAsInteger,yAsInteger)AsInteger

Ifx>yTheny=x

max=y

EndFunction

30、编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。

调用该过程。

(提示:

只能被1和自身整除的自然数称为素数。

Functionsushu%(ByValx%)

Dimm%,TagAsBoolean,i%

m=Val(x)

Tag=True

Fori=2Tom-1

If(mModi)=0ThenTag=False

Nexti

IfTagThensushu=x

EndFunction

PrivateSubCommand1_Click()

Dimi%,k%

Fori=100To1000

Ifsushu(i)ThenList1.AddItemi

Nexti

Sum=0

Fork=0

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

当前位置:首页 > 法律文书 > 调解书

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

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