VB编程程序练习题Word文件下载.docx
《VB编程程序练习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《VB编程程序练习题Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
i"
EndIf
2、*编写程序:
已知x、y、z分别是0~9中的一个数,求x、y、z的值,使得下列成立:
xxz+yzz=532。
(其中xxz和yzz不表示乘积,而是由x、y、z组成的三位数)。
Dimx,y,z
Forx=1To9
Fory=1To9
Forz=1To9
If(100*x+10*x+z)+(100*y+10*z
+z)=532
Then
Printx,y,z;
Nextz
Nexty
Nextx
3、*编写程序:
*计算并输出下面级数前n项(n=50)的部分和。
1*2+2*3+3*4+4*5+……+n*(n+1)+…
DimiAsInteger,nAsInteger,sumAsInteger
n=Val(Text1.Text)
Fori=1Ton
sum=sum+i*(i+1)
Nexti
Printsum
4、*编写程序:
编程计算1-2+3-4+5-6…±
n的值,n由用户输入
DimsAsInteger,aAsInteger,iAsInteger
s=0:
a=1
s=s+i*a
a=-a
Nexti
Prints
5、*编写程序:
编程计算1+(1+2)+(1+2+3)+…+(1+2+3…+n),n由用户输入。
Sum=0
sum1=0
Forj=1Toi
sum1=sum1+j
Nextj
Sum=Sum+sum1
PrintSum
6
*编写程序:
*计算并输出下面级数前n项(n=30)的部分和。
1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))+……
Fori=1To30
k=1/sum
w=w+k
Printw
7、*编写程序:
*求出斐波那契数列前20项中的奇数项的和。
*提示:
前两项为:
0,1,从第3项开始,每一项均为其前两项的和(即:
0+1+1+2+3+5+...)。
PrivateSubcommand1_Click()
Dima%,b%,c%,d%
a=0:
b=1
Ford=1To18
c=a+b
a=b
b=c
IfdMod2=1Then
Sum=Sum+c
Next
8
设计一个程序,随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
Dimy
Randomize
X=Int(Rnd*900+100)
PrintX
y=strreverse(x)
printy
呵呵还有一种方法y=XMod10&
Int(X/10)Mod10&
Int(X/100)也可以实现逆序排列
还有一种方法Fori=0To2
y=y&
Mid(X,3-i,1)
Printy
也可以啊O(∩_∩)O~
9、*编写程序:
计算并在窗体上输出数字8的平方根和立方根。
x=8^(1/2)
y=8^(1/3)
Printx;
y
10、*编写程序:
设计一个程序,输出在指定范围内的3个随机数,范围通过文本框输入。
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Int(a+(b-a+1)*Rnd)
d=Int(a+(b-a+1)*Rnd)
e=Int(a+(b-a+1)*Rnd)
Printc&
"
d&
e
11*编写程序:
输入x、y、z三个数,按从小到大的次序显示。
x=Val(Text1.Text)
y=Val(Text2.Text)
z=Val(Text3.Text)
Ifz>
xThen
t=z:
z=x:
x=t
yThen
z=y:
y=t
Ify>
t=y:
y=x:
Printx&
y&
z
12*编写程序:
求100至999之间的最大的三个素数。
DimnAsInteger,iAsInteger,jAsInteger,n1AsInteger
DimflagAsBoolean
n1=1
Forn=900To100Step-1
flag=True
Fori=2ToInt(Sqr(n))
IfnModi=0Then
flag=False
ExitFor
IfflagThen
DoWhilen1<
=3
Printn;
n1=n1+1
ExitDo
Loop
13、*编写程序:
求100-110之间各整数的平方根
设置窗体的AutoRedraw属性为True.
PrivateSubForm_Load(
)
Dima&
b!
Fora=100To110
b=Sqr(a)
Printb
Next
当然,也可以用format函数来限制结果的格式
如:
b=format(sqr(a);
”####,##”)
14、*编写程序:
*要求能够产生一个[10,100]内(包括10和100)的一个随机数,然后判断其是否是素数。
*如果是,在窗体上输出"
yes"
,否则,输出"
no"
。
a=Int(10+91*Rnd)
Fori=2ToInt(Sqr(a))
If(aModi)=0Then
Printa&
:
"
ExitSub
15、*
编写程序:
使用级数求π的值。
根据下式,计算圆周率π的近似值,当计算到绝对值小于0.0001的通项时,认为满足精度要求,停止计算。
用到的公式为π/4=1-1/3+1/5-1/7+...
Dims!
n!
t!
pi!
t=1:
pi=0:
n=1:
s=1
WhileAbs(t)>
=0.0001
pi=pi+t
n=n+2
s=-s
t=s/n
Wend
pi=pi*4
Printpi
Endsub
16、*编写程序:
利用随机函数产生20个(50,100)(不包括50,100)范围内的随机整数,显示它们当中的最大值、最小值和平均值。
PrivateSubForm_Click()
Dima,max,min,sum,average
sum=0
max=20
min=50
Fori=1To20
a=(Rnd*50)+50
sum=sum+a
Ifa<
minThenmin=a
Ifa>
maxThenmax=a
Printa
Printmax
Printmin
average=sum/20
Printaverage
17、*编写程序:
*使用双重循环,在窗体上输出“九九乘法表”的上三角。
PrivateSubCommand2_Click()
DimIAsInteger,JAsInteger
ForI=1To9
ForJ=ITo9
PrintFormat(I*J,I&
x"
J&
=@@"
);
Print
PrintSpace(7*I);
18、*编写程序:
在文本框中输入小时、分、秒,化成共有多少秒,然后输出总秒数。
Dimh%,m%,s%,x!
h=Val(Text1.Text):
m=Val(Text2.Text)
s=Val(Text3.Text)
x=h*3600+m*60+s
Label1.Caption="
共计秒数"
Str(x)&
秒"
19、*编写程序:
在文本框中输入弧度值,将弧度换算为角度值(度、分、秒)的形式并输出,要求秒数保留三位小数。
hudu=Val(Text1.Text)
a=Fix(hudu*180/3.14)
b=Fix((hudu*180/3.14-a)*60)
c=Fix(((hudu*180/3.14-a)*60-b)*
60)
d=Fix(c)
PrintFormat(c,"
##,000"
度"
b&
分"
c&
20、*编写程序:
利用InputBox和MsgBox完成小时、分、秒的输入,总秒数的输出。
Dima,b,c,d
a=InputBox("
小时数"
b=InputBox("
分钟数"
c=InputBox("
秒数"
d=3600*a+60*b+c
e=MsgBox("
总秒数"
d)
21、*编写程序:
在文本框中输入长、宽、高,求长方体的表面积并输出。
c=Val(Text3.Text)
d=2*(a*b+b*c+a*c)
长方体的表面积"
="
d
22、*编写程序:
某公司每年的销售收入均比前一年增长10个百分点,按此增长率,需要多少年可以实现销售收入翻两番的目标?
DimiAsSingle
DimsAsInteger'
设s为所求年数,定义为整型,结果由窗体输出
i=1
s=0
DoWhilei<
=4
i=i*(1+0.1)
s=s+1
s="
s
25*编写程序:
在文本框中输入3种商品的单价、购买数量,计算并输出所用的总金额。
Dima1!
b1!
c1!
Dima2%,b2%,c2%
Dimx!
a1=Val(Text1.Text):
a2=Val(Text2.Text)
b2=Val(Text3.Text):
b2=Val(Text4.Text)
c3=Val(Text5.Text):
c2=Val(Text6.Text)
x=a1*a2+b1*b2+c1*c2
text7.Text=x
注:
text1为第一种商品的单价,text2为第一种商品的数量,其它依此类推,text7为总计金额o(∩_∩)o…
26、*编写程序:
利用文本框输入一个年份,编程判定该年份是否是闰年。
判定条件是:
能被400整除,或者能被4整除但不能被100整除的年份是闰年。
在文本框中输入年份,使用print输出是否为闰年。
PrivateSubCommand1_Click()
DimiAsInteger,sAsInteger
s=Int(Text1.Text)
IfsMod400=0Or(sMod4=0AndsMod100<
>
0)Then
闰年"
Else
不是闰年"
EndIf
27、*编写程序:
百钱买百鸡。
公元前5世纪,我国数学家张丘建在《算经》中提出“百鸡问题”:
鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。
百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
Forx=0To30
Fory=0To33
If5*x+3*y+(100-x-y)/3=100Then
Print
x,
y,
100-x-y
End
If
y
x
X代表公鸡,Y代表母鸡
28、*编写程序:
有一阶梯,如果每步跨2阶,最后余1阶;
每步跨3阶,最后余2阶;
每步跨5阶,最后余4阶;
每步跨6阶,最后余5阶;
每步跨7阶,正好到达阶梯顶。
问阶梯至少有多少阶?
x=0
DoUntilxMod2=1AndxMod3=2AndxMod4=3AndxMod5=4AndxMod6=5AndxMod7=0
x=x+1
Printx
29、*
输出所有的“水仙花数”,所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一水仙花数,因为153=13+53+33。
Fora=1To9
Forb=1To9
Forc=1To9
Ifa^3+b^3+c^3=a*100+b*10+c
Printa,b,c
Nextc
Nextb
Nexta
30、*编写程序:
输出以下图形:
*
***
*****
*******
Fori=1To4
PrintTab(25-i);
Forj=1To2*i-1
*"
31、*编写程序:
*打印出以下图案。
*
*****
*******
*****
DimiAsInteger
Me.Cls
n=4
PrintTab(n-i+1);
String(2*i-1,"
Fori=n-1To1Step-1
32、*编写程序:
*+*
*+*+*
*+*+*+*
*+*+*
n=4
IfjMod2=0Then
Fori=3To1Step-1
33、*编写一个图形输出的程序
*********
n=5
Fori=nTo1Step-1
Fori=2Ton
34、*编写程序:
**