foVB编程题及答案dk文档格式.docx
- 文档编号:18924450
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:26
- 大小:22.35KB
foVB编程题及答案dk文档格式.docx
《foVB编程题及答案dk文档格式.docx》由会员分享,可在线阅读,更多相关《foVB编程题及答案dk文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
Dimi,sum,aveAsInteger
Dima(30)AsSingle
Fori=0To30
a(i)=20+Int(Rnd()*71)
sum=sum+a(i)
ave=sum/31
printsum
4在窗体上放置文本框Text1、Text2,放置一个按钮Command1。
在Text1里写入一个整数,点击按钮时,对Text1内的数据进行判断,如果是偶数,则在Text2里显示“该数是偶数”。
DimxAsInteger
x=Val(Text1.Text)
IfxMod2=0ThenT
Text2.Text="
该数是偶数"
Else
该数是奇数"
5输入一个三位数,分别输出它的百位数字、十位数字和个位数字。
Dima,baiwei,gewei,shiweiAsInteger
a=Val(InputBox("
"
))
gewei=aMod10
baiwei=a\100
shiwei=(a\10)Mod10
MsgBox(gewei)
MsgBox(shiwei)
6.计算sum=2+4+6+...+1000
Dimsum,iAsInteger
Fori=2To1000Step2
sum=sum+i
7求下面级数前S项中奇数项的和sum。
在求和过程中,以第一个奇数项的数值大于10000的项为末项。
1!
-2!
+3!
-4!
+…+(-1)^(S-1)*S!
sum=0
n=1
DoWhileTrue
item=1
Fori=1Ton
item=item*i
Nexti
IfAbs(item)>
10000Then
ExitDo
Else
n=n+2
EndIf
Loop
8.已知A、B为整数,A和B的立方和为1000,求所有的A、B。
Dimx,yAsInteger
Forx=0To10
Fory=0To10
Ifx^3+y^3=1000Then
MsgBox(x&
"
&
y)
9建立一个5×
5的整型二维数组,由Rnd函数产生[25,95)的随机整数对该数组赋初值,输出数组中的最大元素。
DimA(4,4)AsInteger
Dimi,jAsInteger
Fori=0To4
Forj=0To4
A(i,j)=25+Int(Rnd()*71)
DimmaxAsInteger
max=A(0,0)
IfA(i,j)>
maxThen
max=A(i,j)
10.的项为末项,计算并输出和SUM。
+…+(-1)^(s-1)*s!
+……
PrivateSubCommand1_Click()
n=2
Fori=2Ton
Ifitem>
sum=-1*sum
EndSub
'
sum=368047
11.建立一个9×
9的整型二维数组(由Rnd函数产生[10,60)的随机整数对数组初始化),输出数组中所有奇数行元素的和。
DimA(8,8)AsInteger
Dimi,jAsInteger
Fori=0To8
Forj=0To8
A(i,j)=10+Int(Rnd()*51)
DimsumAsInteger
Fori=0To8Step2
Forj=0To8
sum=sum+A(i,j)
Next
Next
Text1.Text=sum'
所有奇数行元素的和为:
506
12.编写一个函数,判断某整数是否为素数。
调用该函数,输出区间[1000,2000]内所有素数的和。
PrivateFunctionisprime(ByValnAsInteger)AsBoolean
Fori=2Ton-1
IfnModi=0Then
isprime=False
ExitFunction
isprime=True
EndFunction
PrivateSubCommand1_Click()
DimsumAsLong
Fori=1000To2000
Ifisprime(i)=TrueThen
sum=sum+i
Text1.Text="
sum="
sum
sum=419684
13.编写一个函数,求某个数的阶乘。
调用该函数计算22!
。
PublicFunctionfact(ByValnAsInteger)AsLong
DimiAsInteger,fAsLong
f=1
f=f*i
fact=f
DimmAsInteger,iAsInteger,sAsLong
m=InputBox("
输入一个正整数:
)
s=fact(m)
MsgBox(s)
‘479001600
14.编写子过程,计算并输出3000-4000之间的素数之和C与其中最小的素数MIN。
Dimsum,i,minAsInteger
min=0
Fori=3000To4000
DimisprimeAsBoolean=True
DimjAsInteger
Forj=2Toi-1
IfiModj=0Then
ExitFor
Ifisprime=TrueThen
Ifmin=0Then
min=i
Ifi<
minThen
min=i
EndIf
C=C+i
MsgBox(sum)
MsgBox(min)
sum=1617104mi=16001
15.定义下标上界为35的整型数组,并赋初值(用Rnd函数初始化数组,使各个元素的值处于[200,300]之间),求数组中所有不大于350的元素之和。
Dima(35),i,sumAsInteger
Fori=0To35
a(i)=200+Int(Rnd()*101)
Ifa(i)<
=350Then
16编写函数,计算S=1/1!
+1/3!
+1/5!
+...+1/9!
PrivateFunctionFact(ByValxAsInteger)AsInteger
Dimsum,i,fAsDouble
Fori=1To9
IfiMod2=1Then
sum=sum+1/f
Fact=sum
EndFunction
17编写一个函数(参数为一维整型数组),求所有数组元素中最小值的下标。
PublicFunctionmax(ByRefa()AsInteger)AsInteger
DimtAsInteger
t=0
Fori=1ToUBound(a)
a(t)Then
t=i
max=t
18计算并输出下面级数中奇数项的和SUM,要求在第一次出现SUM的绝对值大于100时结束。
1*2-2*3+3*4-4*5+……+(-1)^(m-1)*m*(m+1)+……
DimitemAsLong
Do
item=(-1)^(n-1)*n*(n+1)
LoopWhileAbs(sum)<
=100
sum=-68
19编写一个函数,其功能为求两个数的最大公约数。
PublicFunctiongcd(ByValmAsInteger,ByValnAsInteger)AsInteger
Ifm>
nThen
t=m:
m=n:
n=t
Fori=mTo1Step-1
IfmModi=0AndnModi=0Then
gcd=i
20.用InputBox输入一个年份,判断该年份是否是平年,若是则输出“Yes”,否则输出“No”。
DimyearAsInteger
year=Val(InputBox("
))
If(yearMod400=0)Or(yearMod4=0AndyearMod100<
>
0)Then
MsgBox("
No"
)
Else
Yes"
21输入两个整数m、n,编写程序使得m>
=n,并输出m、n的值。
Dimm,nAsInteger
m=Val(InputBox("
n=Val(InputBox("
Ifm<
nThen
DimtAsInteger
t=m:
m=n:
n=t
EndIf
MsgBox("
m="
m&
;
n="
n)
22求下面级数前n项的和S,在求和过程中,当某项(注意,该项参与求和)的绝对值小于0.0001时求和终止。
结果取5位小数。
1-1/3+1/5-1/7+1/9-1/11+…+(-1)^(n-1)*1/(2n-1)+…
i=1
DoWhileTrue
item=(-1)^(i-1)*1/(2*i-1)
IfAbs(item)<
0.0001Then
i=i+1
MsgBox(Format(sum,"
0.0000"
sum=0.78545
23编写一个函数,其功能为判断一个3位正整数是否是"
水仙花数"
("
是指各位数字的立方和与该数相等,如153=1^3+5^3+3^3,153就是水仙花数。
PublicFunctionPanduan(ByValxAsInteger)AsBoolean
DimaAsInteger,bAsInteger,cAsInteger
a=x\100
b=(xMod100)\10
c=xMod10
Ifx=a^3+b^3+c^3Then
Panduan=True
Panduan=False
i=InputBox("
输入一个3位正整数:
MsgBox(Panduan(i))
24定义一个下标上界为10整型数组,并为其赋值(值处于[0,100]之间),
计算数组中所有不小于60的数据的和。
Dima(10),i,sumAsInteger
Fori=0To10
a(i)=Int(Rnd()*101)
Ifa(i)〉=60Then
25.编写程序,求下面级数前n项的和s=1/1!
-1/2!
-1/4!
+....+(-1)^(n-1)*1/n!
+.....。
求和过程当某一项的绝对值小于0.0001时结束(注意,该项参与求和),计算并输出所求的s,要求结果保留6位小数。
DimmAsDouble,nAsLong,sAsDouble,fAsInteger
s=0:
n=-1:
m=1:
DoWhile1/m>
=0.0001
m=m*f
f=f+1
n=-n
s=s+n/m
Loop
s=Format(s,"
0.000000"
Prints
26输入一个四位数,分别输出它的个位数字,是十位数字,百位数字,千位数字。
Dima%,j%,k%,i%,m%
a=InputBox("
请输入一个四位整数"
j=a\1000
k=a\100Mod10
i=a\10Mod10
m=aMod10
个位数字;
m
十位数字;
i
百位数字;
k
千位数字;
j
6.计算sum=2!
+4!
+6!
+...+10!
Dima%,i%
Sum=0
i=1:
a=1
Do
a=2*i
IfiMod2=0Then
Sum=Sum+a
i=i+1
LoopWhilei<
=10
PrintSum
27编写程序,计算并输出下面级数前n项(n=20)中奇数项的和。
1*2*3-2*3*4+3*4*5-4*5*6+....+(-1)^(n-1)*n*(n+1)*(n+2)+...
Dims!
i%
Fori=1To20Step2
s=s+i*(i+1)*(i+2)
MsgBox(s)
28随机输出一个小写字母。
DimaAsString
a=Chr(Int(97+26*Rnd))
MsgBox(a)
EndSub、
29编写程序,计算并输出下面级数前n项(n=50)中偶数项的和。
s=1*2+2*3+3*4+4*5+....+n*(n+1)+.....
Fori=2To50Step2
s=s+i*(i+1)
30斐波那契数列是由计算某类动物繁殖增长量而提出的。
数列的前两项是1、1,以后的每一项都是其相邻前两项的和。
编写程序求:
数列前30项和。
Dima&
b&
c&
a=1:
b=1:
c=2:
Sum=0
Fori=1To28
c=a+b
a=b
b=c
Sum=Sum+c
MsgBox(Sum)
31输入三个数a、b、c,编写程序使得a<
=b<
=c,并输出a、b、c的值。
Dima%,b%,c%,t%
a=Val(InputBox("
请输入a的值!
b=Val(InputBox("
请输入b的值!
c=Val(InputBox("
请输入c的值!
Ifa>
bThen
t=b
b=a
a=t
cThen
t=a
a=c
c=t
Ifb>
Printa,b,c
32编写程序,设n=20,x=3.4,计算并输出S(n)的值,要求结果保留5位小数。
S(n)=Inx/x+In2x/x^2+In3x/x^3+.....+In(n*x)/x^n+.....
Dimx#,i%
DimS(20)AsDouble
n=20
x=3.4
Fori=1To20
S(20)=S(20)+Log(i*x)/(x^i)
PrintFormat(S(20),"
0.00000"
33输入任意三个数找出其中最大的数
Dima!
b!
c!
Max!
a=Text1.Text
b=Text2.Text
c=Text3.Text
Max=a
MaxThenMax=b
Ifc>
MaxThenMax=c
Text4.Text=Max
输出1到100之间的素数
Print1;
2;
a=3
Whilea<
i=2
Whilei<
a
IfaModi=0Then
i=a
Wend
Ifi=aThen
Printa;
a=a+1
Wend、
34打印斐波那契数列20项
Privatesubform_click()
A=0
B=1
Text1.text=text1.text&
str(A)&
st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- foVB 编程 答案 dk