vb题库程序设计.docx

上传人:b****4 文档编号:4704770 上传时间:2022-12-07 格式:DOCX 页数:20 大小:20.17KB
下载 相关 举报
vb题库程序设计.docx_第1页
第1页 / 共20页
vb题库程序设计.docx_第2页
第2页 / 共20页
vb题库程序设计.docx_第3页
第3页 / 共20页
vb题库程序设计.docx_第4页
第4页 / 共20页
vb题库程序设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

vb题库程序设计.docx

《vb题库程序设计.docx》由会员分享,可在线阅读,更多相关《vb题库程序设计.docx(20页珍藏版)》请在冰豆网上搜索。

vb题库程序设计.docx

vb题库程序设计

一、程序设计

'【程序设计】

1.'题目:

编写函数fun,函数的功能是:

计算两个正整数的最大公约数,并显示。

如:

'两个数为15、20,结果显示"5"

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

答案:

Do

r=mModn

Ifr=0ThenExitDo

m=n

n=r

Loop

fun=n

2.'题目:

判断一个数是否是素数。

答案:

----------------------

DimiAsInteger

Prime=True

Fori=2ToInt(Sqr(m))

IfmModi=0ThenPrime=False:

ExitFor

Nexti

----------------------

3,'题目:

(事件)单击窗体。

'(响应)求10!

的值,并将结果输出到窗体上。

将结果存入变量SUM中。

答案:

----------------------

DimiAsInteger

sum=1

Fori=1To10

sum=sum*i

Next

Printsum

4,'题目:

(事件)单击窗体。

(响应)求1+2+3+……+100的值,并把结果输出在窗体上。

结果存入变量SUM中。

答案:

----------------------

DimiAsInteger

Fori=1To100

sum=sum+i

Next

Printsum

----------------------

5,'题目:

编写函数fun,函数的功能是:

求1到m之间的偶数之积。

答案:

----------------------

DimyAsDouble

y=1

DimiAsInteger

Fori=1Tom

IfiMod2=0Then

y=y*i

EndIf

Next

fun=y

----------------------

6,'题目:

编写函数fun,函数的功能是:

根据一个百分制成绩mark(整数),显示对应五级制的评定。

条件如下:

mark大于等于90显示"优秀"

mark小于90且大于等于80显示"良好"

mark小于80且大于等于70显示"中等"

mark小于70且大于等于60显示"及格"

mark小于60显示"不及格"要求使用Select语句来实现。

答案:

SelectCasemark

CaseIs>=90

fun="优秀"

CaseIs>=80

fun="良好"

CaseIs>=70

fun="中等"

CaseIs>=60

fun="及格"

CaseElse

fun="不及格"

EndSelect

7,'题目:

(事件)双击窗体(响应)求100以内奇数的和,并将结果输出在窗体上。

将结果存入变量SUM中

答案:

----------------------

DimiAsInteger

Fori=1To100

IfiMod2=1Then

sum=sum+i

EndIf

Next

Printsum

----------------------

8,'题目:

(事件)单击窗体。

'(响应)输100-200之间所有素数,并将这些数求和,求和结果存入所给变量SUM中。

答案:

------------------------------------

Fori=100To200

Forj=2ToSqr(i)

IfiModj=0ThenExitFor

Next

Ifj>Int(Sqr(i))Then

Sum=Sum+i

EndIf

Next

PrintSum

------------------------------------

9,'题目:

将一个十进制整数m转换成→r(2-16)进制字符串。

方法:

将m不断除r取余数,直到商为零,以反序得到结果。

下面写出一转换函数,参数idec为十进制数,ibase为要转换成数的基(如二进制的基是2,八进制的基是8等),函数输出结果是字符串

chr函数:

将ascii码转换为对应字母。

答案:

----------------------

DimstrDecR$,iDecR%

strDecR=""

DoWhileidec<>0

iDecR=idecModibase

IfiDecR>=10Then

strDecR=Chr$(65+iDecR-10)&strDecR

Else

strDecR=iDecR&strDecR

EndIf

idec=idec\ibase

Loop

TrDec=strDecR

----------------------

10,'题目:

(事件)单击按钮。

(响应)随机产生N个两位正整数(N由输入对话框输入,且N>0),求出其中的最大数和最小数,并在标签框Label1上显示最大数与最小数的差。

答案:

--------------------------------

x=InputBox("请输入x")

n=1

t=x

s=x

DoUntilAbs(t)<0.00000001

n=n+1

t=t*(-1)/n

s=s+t

Loop

Label1.Caption="s="&s

--------------------------------

'题目:

(事件)单击窗体。

'(响应)已知s=1+1/3!

+1/5!

+1/7!

+1/9!

请将s结果值输出到窗体上。

使用dowhile...loop语句完成程序

答案:

----------------------

DimiAsInteger

i=1

p=1

DoWhilei<=9

p=p*i

IfiMod2=1Then

s=s+1/p

EndIf

i=i+1

Loop

Prints

sum=s

----------------------

'题目:

(事件)单击窗体。

'(响应)求从100到1000之间所有是3的倍数的数之和,当和大于3000时,停止计算并输出和。

请将结果输出到窗体上,并存入所给变量SUM中。

使用for...next语句完成程序

答案:

----------------------

DimiAsInteger

sum=0

fori=100to1000

ifimod3=0then

sum=sum+i

ifsum>3000then

exitfor

endif

endif

i=i+1

next

Printsum

----------------------

'题目:

(事件)单击窗体。

'(响应)求1-100中为5或7的倍数的和。

请将结果输出到窗体上,并存入所给变量SUM中。

使用while...wend语句完成程序

答案:

----------------------

DimiAsInteger

i=1

Whilei<=100

IfiMod5=0OriMod7=0Then

Sum=Sum+i

EndIf

i=i+1

Wend

PrintSum

----------------------

'题目:

(事件)单击窗体。

'(响应)求出100以内所有素数的和,并将结果输出到窗体上,并存入所给变量SUM中。

答案:

----------------------

DimiAsInteger

DimjAsInteger

DimkAsInteger

DimbAsBoolean

b=False

Fori=2To100

b=False

j=CInt(Sqr(i))

Fork=2Toj

IfiModk=0Then

b=True

EndIf

Next

Ifb=FalseThen

sum=sum+i

EndIf

Next

Printsum

----------------------

'题目:

(事件)单击窗体。

'(响应)求1!

+2!

+3!

+……+10!

的值,并在窗体上输出。

结果存入变量L中。

答案:

----------------------

DimiAsInteger

DimsAsLong

DimjAsInteger

s=1

Fori=1To10

s=s*i

l=l+s

Next

PrintStr(l)

----------------------

'题目:

编写函数fun,函数的功能是:

求一个四位数的各位数字的立方和

答案:

----------------------

DimdAsInteger,kAsInteger,sAsInteger

Whilen>0

d=nMod10

s=s+d*d*d

n=n/10

Wend

fun=s

----------------------

第46题(1.0分)题号:

490

'-------------------------------------------------

'【程序设计】

'-------------------------------------------------

'题目:

(事件)单击窗体。

'(响应)已知sum=1-1/4+1/9-1/16+1/25...-1/100,

'请将sum结果值输出到窗体上。

'使用for...next语句完成程序

'-------------------------------------------------

 

答案:

----------------------

DimiAsInteger

fori=1to10

sum=sum+(-1)^(i-1)/(i*i)

next

Printsum

----------------------

 

第48题(1.0分)题号:

478

'-------------------------------------------------

'【程序设计】

'-------------------------------------------------

'题目:

编写函数fun,其功能是:

能计算从1开始到n的

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

'-------------------------------------------------

答案:

----------------------

DimsumAsInteger,iAsInteger

sum=0

Fori=2TonStep2

sum=sum+i*i

Next

fun=sum

----------------------

第49题(1.0分)题号:

208

'-------------------------------------------------

'【程序设计】

'-------------------------------------------------

'题目:

请用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

'题目:

将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,

'问有哪几种组合?

将组合数存入变量OUT中。

答案:

----------------------

DimnAsInteger

Dimi%,j%,k%

Print"5?

1?

0.5?

"

Fori=1To20

Forj=1To100-i

k=100-i-j

If5#*i+1#*j+0.5*k=100Then

Printi,j,k

n=n+1

EndIf

Nextj

Nexti

out=n

----------------------

'题目:

(事件)单击窗体。

'(响应)我国现有人口为13亿,设年增长率为1%,

计算多少年后增加到20亿。

并将结果输出在窗体上。

将结果存入变量year中。

使用dowhile...loop语句完成程序。

答案:

----------------------

dimpasdouble

dimrassingle

dimnasinteger

p=1300000000

r=0.01

dowhilep<2000000000

p=p+p*r

n=n+1

loop

print"n=",n

year=n

----------------------

'题目:

应用选择法对数组A按升序排列

基本思想:

1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置;

2)除第1个数外,其余n-1个数中选最小的数,与第2个数交换位置;

3)依次类推,选择了n-1次后,这个数列已按升序排列。

答案:

----------------------

Dimi,j,imin,tempAsInteger

Fori=1Ton-1

imin=i

Forj=i+1Ton

Ifa(imin)>a(j)Thenimin=j

Nextj

temp=a(i)

a(i)=a(imin)

a(imin)=temp

Nexti

----------------------

'题目:

(事件)单击窗体。

'(响应)求一个数,它除3余2,除5余3,除7余2,请将满足上面条件的最小数保存到sum变量中。

使用for...next语句完成程序

答案:

----------------------

DimiAsInteger

Fori=2To1000

IfiMod3=2AndiMod5=3AndiMod7=2Then

Printi

ExitFor

EndIf

Nexti

sum=i

----------------------

'题目:

(事件)单击窗体。

'(响应)生成一个一维数组(10个数组元素依此为:

15、23、72、43、96、23、3、65、88、17),写程序求出这个数组中的最大值、最小值和平均值,并输出在窗体上。

将最大值,最小值,平均值分别存入变量

Max,Min,Aver中

答案:

----------------------

Dima(9)AsInteger

Dimi,sAsInteger

a(0)=15

a

(1)=23

a

(2)=72

a(3)=43

a(4)=96

a(5)=23

a(6)=3

a(7)=65

a(8)=88

a(9)=17

max=a(0)

min=a(0)

s=0

Fori=0To9

Ifa(i)>maxThen

max=a(i)

EndIf

Ifa(i)

min=a(i)

EndIf

s=s+a(i)

Next

aver=Int(s/10)

Print(CStr(max))

Print(CStr(min))

Print(CStr(aver))

----------------------

'题目:

(事件)双击窗体。

'(响应)求s=1+1×2+1×2×3+…+1×2×3×…×10,并将结果存到变量S中

答案:

----------------------

Dimi,jAsInteger

DimkAsLong

k=1

s=0

Fori=1To10

Forj=1Toi

k=k*j

Next

s=s+k

k=1

Next

Print(CStr(s))

----------------------

'题目:

(事件)单击窗体。

'(响应)求100到500之间奇数的和,将结果输出

在窗体上并存入变量SUM中。

使用do...loopuntil语句完成程序

答案:

----------------------

DimiAsInteger

i=100

do

IfiMod2=1Then

sum=sum+i

EndIf

i=i+1

loopuntili>500

Printsum

----------------------

'题目:

(事件)单击窗体。

'(响应)已知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)

----------------------

'题目:

(事件)单击命令按钮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

Text1.Text=s

题目:

求两个数m,n的最大公约数p和最小公倍数q

答案:

----------------------

nm=n*m

Ifm

m=n:

n=t

r=mModn

DoWhile(r<>0)

m=n

n=r

r=mModn

Loop

p=n

q=nm/n

----------------------

'题目:

编写函数fun,函数的功能是:

计算n门课程的平均值,计算结果作为函数值返回。

例如,若有5门课程的成绩是:

92,76,69,58,88,则函数的值为76.6。

答案:

----------------------

DimiAsInteger

DimyAsSingle

Fori=1Ton

y=y+a(i)

Next

fun=y/n

----------------------

'题目:

(事件)单击窗体。

'(响应)求200~300之间既能被3整除又能被7整除的数。

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

答案:

----------------------

DimiAsInteger

Fori=201To300

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

Print(CStr(i))

sum=sum+i

EndIf

Next

Printsum

----------------------

'题目:

(事件)单击窗体

'(响应)用输入框输入一自然数,判断是"正数"、"负数"或"零",并根据输入的数用消息框显示"正数"、"负数"或"零"。

答案:

-------------------------------------

n=InputBox("输入一个自然数")

Ifn>0Then

result="正数"

ElseIfn<0Then

result="负数"

ElseIfn=0Then

result="零"

EndIf

MsgBox"输入的数据"&n&"为:

"&result

或者

-------------------------------------

'题目:

(事件)双击窗体。

'(响应)求出50以内所有奇数的和。

将结果存入变量SUM中。

答案:

----------------------

DimiAsInteger

Fori=1To50

IfiMod2=1Then

sum=sum+i

EndIf

Next

Printsum

----------------------

'题目:

编写函数fun,函数的功能是:

判断一个字符是'字母字符、数字字符还是其他字符,并做相应的显示。

字母字符显示字符串"字母"数字字符显示字符串"数字"'其他字符显示字符串"其他"要求使用IF语句来实现。

答案:

IfUCase(n)>="A"AndUCase(n)<="Z"Then

fun="字母"

ElseIfn>="0"Andn<="9"Then

fun="数字"

Else

fun="其他"

EndIf

'题目:

(事件)单击窗体。

'(响应)求50以内所有偶数的和,并在窗体上输出出来。

将结果存入变量S中。

答案:

----------------------

DimiAsInteger

Fori=2To50

If(iMod2)=0Then

s=s+i

EndIf

Next

Print(CStr(s))

----------------------

'题目:

(事件)单击窗体。

'(响应)求100

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

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

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

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