VB程序设计编程考试题答案与解析.docx

上传人:b****6 文档编号:16710512 上传时间:2023-07-16 格式:DOCX 页数:17 大小:18.17KB
下载 相关 举报
VB程序设计编程考试题答案与解析.docx_第1页
第1页 / 共17页
VB程序设计编程考试题答案与解析.docx_第2页
第2页 / 共17页
VB程序设计编程考试题答案与解析.docx_第3页
第3页 / 共17页
VB程序设计编程考试题答案与解析.docx_第4页
第4页 / 共17页
VB程序设计编程考试题答案与解析.docx_第5页
第5页 / 共17页
VB程序设计编程考试题答案与解析.docx_第6页
第6页 / 共17页
VB程序设计编程考试题答案与解析.docx_第7页
第7页 / 共17页
VB程序设计编程考试题答案与解析.docx_第8页
第8页 / 共17页
VB程序设计编程考试题答案与解析.docx_第9页
第9页 / 共17页
VB程序设计编程考试题答案与解析.docx_第10页
第10页 / 共17页
VB程序设计编程考试题答案与解析.docx_第11页
第11页 / 共17页
VB程序设计编程考试题答案与解析.docx_第12页
第12页 / 共17页
VB程序设计编程考试题答案与解析.docx_第13页
第13页 / 共17页
VB程序设计编程考试题答案与解析.docx_第14页
第14页 / 共17页
VB程序设计编程考试题答案与解析.docx_第15页
第15页 / 共17页
VB程序设计编程考试题答案与解析.docx_第16页
第16页 / 共17页
VB程序设计编程考试题答案与解析.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VB程序设计编程考试题答案与解析.docx

《VB程序设计编程考试题答案与解析.docx》由会员分享,可在线阅读,更多相关《VB程序设计编程考试题答案与解析.docx(17页珍藏版)》请在冰点文库上搜索。

VB程序设计编程考试题答案与解析.docx

VB程序设计编程考试题答案与解析

VB程序设计编程考试题及答案

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

PrivateSubcommand1_click()

Dimmax

Fori=1To3

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

Ifn>maxThen

max=n

EndIf

Next

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

Label4="方程有根"

Else

Label4="方程无根"

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整除但不能被100整除,或者能被400整除)

PrivateSubCommand1_Click()

Dimy%

y=InputBox("请输入年份")

IfyMod4=0AndyMod100<>0OryMod400=0Then

Val(MsgBox("闰年!

"))

Else

Val(MsgBox("平年!

"))

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%

x=Text1

x1=xMod10

x2=(xMod100)\10

x3=x\100

Label1=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()

Fori=200To400

IfiMod5=0OriMod7=0Then

Sum=Sum+i

EndIf

Nexti

 

Fori=200To400

IfiMod5=0AndiMod7=0Then

Sum=Sum-i

EndIf

Nexti

Print“倍数之和=”;Sum

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)

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()

Dima(1To10,1To10),i,jAsInteger

Fori=1To10

Forj=1To10

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

Next

Next

Fori=1To10

Forj=1Toi

PrintSpc(3);a(i,j);

Next

Print

Next

EndSub

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

PrivateSubCommand1_Click()

Dima(1To10)

Fori=1To10

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

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

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

PrivateSubCommand1_Click()

Dima%(4,5),sum

Fori=1To4

Forj=1To4

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

Printa(i,j);

sum=sum+a(i,j)

Nextj

Print'换行

Nexti

Print"sum=";sum

EndSub

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

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

PrivateSubCommand1_Click()

Dima(),i%,k%,x%,n%

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

n=UBound(a)

x=Val(InputBox("请输入所要插入数"))

Fork=0Ton

Ifx

Nextk

ReDimPreservea(n+1)

Fori=nTokStep-1

a(i+1)=a(i)

Nexti

a(k)=x

Fori=0Ton+1

Printa(i);

Nexti

EndSub

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

 

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

PrivateSubcommand1_Click()

Dima(1To10),min,i%

Fori=1To10

a(i)=Int(Rnd*101)

Printa(i);

Nexti

CallProcMin(a(),min)

Print

Print"min=";min

EndSub

SubProcMin(b(),min)

Dimi%

min=b(LBound(b))

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

Ifb(i)

Nexti

EndSub

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

PrivateSubForm_Click()

Dima(1To10),amin,i%

Fori=1To10

a(i)=Int(Rnd*101)

Printa(i);

Nexti

CallProcMin(a(),amin)

Print

Print"amin=";amin

EndSub

SubProcMin(b(),min)

Dimi%

min=b(LBound(b))

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

Ifb(i)

Nexti

EndSub

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

PrivateSubForm_Click()

Dima(1To10),amax,i%

Fori=1To10

a(i)=Int(Rnd*101)

Printa(i);

Nexti

CallProcMax(a(),amax)

Print

Print"amax=";amax

EndSub

SubProcMax(b(),max)

Dimi%

min=b(LBound(b))

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

Ifb(i)>maxThenmax=b(i)

Nexti

EndSub

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

调用该过程。

(提示:

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

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2