VB经典的程序设计题文档格式.docx
- 文档编号:19168940
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:15
- 大小:29.08KB
VB经典的程序设计题文档格式.docx
《VB经典的程序设计题文档格式.docx》由会员分享,可在线阅读,更多相关《VB经典的程序设计题文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
Constpi=3.1415926
r=Val(InputBox("
请输入圆的半径"
))
Print"
圆的周长为:
"
2*pi*r
输入两个整数mn,使得m>
=n,并输出mn
DimmAsInteger,nAsInteger,aAsInteger
m=Val(InputBox("
请输入m:
输入,"
m"
n=Val(InputBox("
请输入n:
n"
Ifn>
mThen
a=m
m=n
n=a
EndIf
m="
m
n="
n
计算sum=1/1!
+1/2!
......+1/10!
DimmAsInteger,nAsLong,sAsDouble
n=1
s=0
Form=1To10
n=n*m
s=s+1/n
Prints
定义一个下标上界为10的整型数组,并随机函数为其赋值(值处于【0,100】之间,计算数组中所有偶数的和
Randomize
Dima%(10)
Dimi%,s%
Fori=0To10
a(i)=101*Rnd()
Ifa(i)Mod2=0Then
s=s+a(i)
所有偶数的和为:
s
输入一个四位数,分别输出它的个位数字、十位数字、百位数字、和千位数字。
(待修改)
Dima%,i%,k%,m%,s$
a=Val(InputBox("
请输入一个四位数"
i=aMod10
j=(aMod100)\10
k=(aMod1000)\100
m=a\1000
s="
个位数字是:
&
i&
vbcrlf"
十位数字是:
j&
vbcrlf&
百位数字是:
k&
千位数字是:
m
计算sum=2!
+4!
+6!
+......+10!
Dima!
i%,sum!
i=1:
a=1
Do
a=2*i
IfiMod2=0Then
sum=sum+a
LoopWhilei<
=10
Printsum
用inputbox输入一个年份,判断该年份是否是闰年,若是则输出Yes,否则输出No
Dimj%
j=Val(InputBox("
请输入年份"
IfjMod4=0Then
MsgBox("
Yes"
)
Else
No"
计算并输出下面级数前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)
如果一个三位数等于其各位数字的立方和,则称其为水仙花数。
请输入一个三位数,并判断其是否为水仙花数。
若是,用MsgBox输出“yes”,否则输出“no”
PrivateSubCommand1_Click()
Dima%,i%,j%,k%
a=InputBox("
请输入一个三位数!
i=a\100
j=a\10Mod10
k=aMod10
Ifa=i^3+j^3+k^3Then
yes"
no"
某分段函数描述如下:
(1)当x为偶数时,y的值为x的二分之一
(2)当x为奇数时,y的值为x的二倍
Dimx!
y!
x=Val(InputBox("
请输入X的值!
IfxMod2=0Then
y=x/2
y=2*x
MsgBox(y)
输入三个数,判断其是否能够构成三角形...........
DimiAsInteger,a
(2)AsInteger,pAsSingle,sAsSingle
Fori=0To20
a(i)=val(inputbox("
输入第"
条边的边长:
Nexti
Ifa(0)+a
(1)>
a
(2)Anda(0)+a
(2)>
a
(1)Anda
(1)+a
(2)>
a(0)Then
p=(a(0)+a
(1)+a
(2))/2
s=sqr(p*(p-a(0)*(p-a
(1))*(p-a
(2)))
不能形成三角形!
计算1*3*5....*9
DimsumAsLong,iAsInteger
sum=1
Fori=1To9Step2
sum=sum*i
MsgBox(sum)
编写程序,求下面级数前n项的和s=1/1!
-1/2!
+1/3!
-1/4………(-1)∧(n-1)*1/n!
+…..
求和过程当某一项的绝对值小于0.0001时结束(注意,该项参与求和),计算并输出所求的和s,要求保留6位小数
DimmAsDouble,nAsInteger,sAsDouble,fAsInteger
s=0:
n=-1:
m=1:
f=1
DoWhile1/m>
=0.0001
m=m*f
f=f+1
n=-n
s=s+n/m
s=Format(s,"
0.000000"
随即输出一个位于【0,100】之间的整数
Dims%
s=(101*Rnd)
编写程序,计算并输出下面级数前n项(n=50)中的偶数项的和
Fori=2To50Step2
s=s+i*(i+1)
《VB期末范围题总汇》
1.求随机10个整数的最大值、最小值、平均值以及和;
Dima(1To10)
Randomize
Picture1.Print"
产生的随机数为:
Fori=1To10
a(i)=Int(Rnd*99+1)
Picture1.Printa(i);
Nexti
Picture1.Print
PrivateSubCommand2_Click()
Dimmax,min,ave
max=a
(1)
min=a
(1)
ave=0.1*a
(1)
Fori=2To10
Ifa(i)>
maxThenmax=a(i)
Ifa(i)<
minThenmin=a(i)
ave=ave+0.1*a(i)
最大数为:
;
max
最小数为:
min
平均数为:
ave
2.求水仙花数
PrivateSubForm_Click()
Dima,b,cAsInteger'
a(个)b(十)c(百)
Fora=0To9
Forb=0To9
Forc=1To9
Ifa^3+b^3+c^3=a+10*b+100*cThen
MsgBox100*c+10*b+a
EndIf
Nextc
Nextb
Nexta
求1000以内的所有完数
一个按钮里调用的过程
OutputWanNumber1000
5.求各位数字之和
inputa:
'
输入任意数
do
b=amod10:
取a的末位数
sum=sum+b:
求和
a=a\10:
去掉末位数
loopuntila=0
print"
sum="
sum:
输出
end
(dimnasstring
inputn
fori=1tolen(n)
sum=sum+val(mid(n,i,1))
nexti
printsum)
6.求最小公倍数
PrivateSubForm_Load()
Form1.AutoRedraw=True
Dimn1%,m1%,m%,n%,r%
n1=InputBox("
输入n1"
)
m1=InputBox("
输入m1"
Ifm1>
n1Then'
为了求最小公倍数,增加m,n变量
m=m1:
n=n1
Else
m=n1:
n=m1
Do
r=mModn
Ifr=0ThenExitDo
m=n
n=r
Loop
Printn1;
"
"
m1;
的最大公约数为"
n
最小公倍数="
m1*n1/n
7.求逆序数(感觉题目类型太多)
9.求质因子问题
DimNAsInteger,IAsInteger
N=Val(InputBox("
请输入2的整数:
))
I=2
IfNModI=0Then
PrintI;
N=N\I
I=I1
LoopWhileN1
1.判定素数过程
Functionisprime(NumAsLong)AsBoolean
IfNum<
2Thenisprime=False:
ExitFunction
DimiAsLong
Fori=2ToSqr(Num)
If(NumModi)=0Then
isprime=False
ExitFunction
isprime=True
EndFunction
Fori=1To1000
Ifisprime(i)Then
Printi
2.求最大公约数过程;
FunctionMax公约数(AAsLong,BAsLong)'
求出两个数的最大公约数
DimXAsLong,YAsLong,KAsLong
X=IIf(A>
=B,A,B)'
x存入最大值
Y=IIf(A<
y存入最小值
Do'
辗转相除法
K=XModY:
IfK=0ThenExitDo
X=Y:
Y=K
Max公约数=Y
3.冒泡排序过程
Dima(9)AsInteger
DimiAsInteger
Fori=0To9
a(i)=InputBox("
输入整数"
Next
Sorta
Printa(i)
PrivateSubSort(ByRefa()AsInteger)
DimjAsInteger
DimtAsInteger
Fori=LBound(a)+1ToUBound(a)
Forj=UBound(a)ToiStep-1
Ifa(j-1)>
a(j)Then
t=a(j-1)
a(j-1)=a(j)
a(j)=t
4顺序查找过程
Dimi,j,t,a(1To10)
原数组:
a(i)=Rnd*10
a("
&
i&
)="
a(i)&
Space
(2),
IfiMod2=0ThenPrint
Fori=1To9
Forj=i+1To10
Ifa(j)<
a(i)Then
t=a(i)
a(i
编程题(20分,正式试题为1题)
1、编写一个身份证号码转换程序:
(1)老身份证是15位,先要增加两位年份,变成17位,再计算校验位。
(2)校验位的计算方法是:
17位身份证号码Number每一位都乘上一个权值Weight,然后相加,再除以11,取其余数作为位置数Position。
(3)根据位置数Position查表,得到校验位CheckCode。
(4)Number[i]:
表示身份证号码第i位上的号码
Weight[i]:
表示第i位上的权值
Weight:
79105842163791058421
Position=∑(Number[i]*Weight[i])mod11
(5)Position:
012345678910
CheckCode:
10X98765432
其中罗马数字X表示10,所以在新标准的身份证号码中可能含有非数字的字母X。
2、利用递归函数编写打印杨辉三角形(参见教材第319页上的实验6.11)
(1)编写求Cn,m的递归函数,其递归公式为:
Cn,m=Cn,m-1+Cn-1,m-1
(2)递归条件是:
C0,m=1当n=0
C1,m=m当n=1
Cn,m=Cm-n,m当n>
m/2
(3)利用上述递归函数编写打印杨辉三角形的程序
C0,0
C1,0C1,1
C2,0C2,1C2,2
·
Cn,0Cn,1·
Cn,n-1Cn,n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 经典 程序设计