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