vb编程题及答案文档格式.docx
《vb编程题及答案文档格式.docx》由会员分享,可在线阅读,更多相关《vb编程题及答案文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
21、随机产生10个[30,100]内的整数,求最大值、最小值和平均值。
22、定义三个4×
4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相乘得到的。
请编程生成并输出A,B,C。
23、随机产生15个小写字母,放在字符数组中。
提示:
c=chr(int(rnd*26+97))
24、随机产生10个[30,100]内的整数,求最大值及所对应的下标。
25、定义三个4×
4的二维数组A,B,C,A和B中的元素均随机生成,数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相加得到的。
26、利用随机函数生成一个4×
4的矩阵(即二维矩阵),范围是[20,50]内的整数,求它的两条对角线上元素之和。
27、利用随机函数生成一个4×
4的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最小值及所对应的下标。
28、随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。
29、有10个评委对歌手进行打分(分数存放在A数组中)要求编程计算歌手平均得分(按去掉一个最高分和一个最低分的计算办法计算)。
a=Array(98,97,95,91,90,99,93,94,93,96)
30、编程输出n行杨辉三角图形,n由键盘输入。
31、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,编程将第1行和第3行对应元素交换。
32、随机产生15个大写字母,放在字符数组中。
c=chr(int(rnd*26+65))
33、编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。
调用该过程。
(提示:
只能被1和自身整除的自然数称为素数。
34、随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。
35、已知一维数组a()中的元素已排序,分别为{12,15,21,25,27,35,36,39,48,52},编程将30插入数组a,并使a依然有序。
37、声明一个整型的二维数组a(1to4,1to4),用随机函数产生各元素,范围介于[1,20]之间,编程将第2行和第4行对应元素交换。
38、随机产生10个[30,100]内的整数,求最小值及所对应的下标。
39、编写一个判断素数的通用过程(函数或子程序)。
调用该过程,计算并输出区间[1000,1100]内所有素数的和。
)
40、编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。
41、编一个冒泡排序法子过程,对已知的若干整数按递减次序排列。
子过程的形式为subsort1(a%())。
42、编一个选择排序法子过程,对已知的若干整数按递减次序排列。
43、编一个选择排序法子过程,对已知的若干整数按递增次序排列。
44、编一个冒泡排序法子过程,对已知的若干整数按递增次序排列。
45、编一个冒泡排序法子过程,对已知的若干整数按递增次序排列。
VB答案
.PrivateSubCommand1_Click()
Dimi,a,k
Fori=1To100
k=1
Fora=2ToSqr(i)
IfiModa=oThenk=0
Nexta
Ifk=1ThenPrinti;
Nexti
EndSub
2从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。
.
PrivateSubCommand1_Click()
Dimi,a,b,nasstring
n=InputBox("
输入字符"
i=Len(n)
Fora=1Toi/2
b=Mid(n,a,1)
Mid(n,a,1)=Mid(n,i+1-a,1)
Mid(n,i+1-a,1)=b
Printn
3.计算0~200之间所有能被11或5整除的数之和
Dimi%,sum
sum=0
Fori=1To200
IfiMod5=0OriMod11=0Then
sum=sum+i
EndIf
Printsum
4.输入一年份,判断它是否为闰年,并显示有关信息。
Dimi%
输入年份n"
i=0
IfnMod4=0AndnMod100<
>
0OrnMod400=0Then
i=1
Ifi=1Then
Printn&
"
为闰年"
Else
为平年"
5.已知x,y,z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x<
Dimx%,y%,z%,i
x=Int(Rnd*100)
y=Int(Rnd*100)
z=Int(Rnd*100)
Ifx>
yThen
i=x
x=y
y=i
zThen
x=z
z=i
Ify>
i=y
y=z
Printx&
<
"
&
y&
z
6.求s=a+aa+aaa+...aaaaa(n个a),其中a和n的值随机产生,a的范围
是[1,9]的整数,n的范围是[5,10]。
Dimc(1To10),a%,n%,s#,i%,m#
n=Int(Rnd*6+5)
a=Int(Rnd*9+1)
m=a
c
(1)=m
Fori=1To10
c(i)=m
m=10*m+a
s=c
(1)+c
(2)+c(3)+c(4)
Fori=5Ton
s=s+c(i)
Print"
a="
a,"
n="
n,"
s="
s
7计算100~300之间所有能被3和7整除的数之和。
Dims%,i%
s=0
Fori=100To300
IfiMod3=0OriMod7=0Then
s=s+i
8编程求200--400范围内5的倍数或7的倍数之和。
Dims1%,s2%,s3%,i%
s1=0
s2=0
Fori=200To400
IfiMod5=0OriMod7=0Then
s1=s1+i
IfiMod5=0AndiMod7=0Then
s2=s2+i
s3=s1-s2
Prints3
9..找出被3、5、7除,余数为1的最小的5个正整数。
.PrivateSubForm_Click()
Dimt%
Fori=0To500
IfiMod5=1AndiMod7=1AndiMod3=1ThenPrinti;
10某次歌曲大奖赛,有7个评委。
如果分别输入7个评委
对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
Dima(6),imin!
imax!
i!
j%,n%,t%,k%,f%
a(0)=Val(InputBox("
a(0)"
))
a
(1)=Val(InputBox("
a
(1)"
a
(2)=Val(InputBox("
a
(2)"
a(3)=Val(InputBox("
a(3)"
a(4)=Val(InputBox("
a(4)"
a(5)=Val(InputBox("
a(5)"
a(6)=Val(InputBox("
a(6)"
Fori=0To6
imin=i
Forj=i+1To6
Ifa(j)<
a(imin)Thenimin=j
Nextj
t=a(i)
a(i)=a(imin)
a(imin)=t
a(i-1)=0
Fork=0To6
imax=k
Forf=k+1To6
Ifa(f)>
a(imax)Thenimin=f
Nextf
t=a(k)
a(k)=a(imax)
a(imax)=t
Nextk
a(k-1)=0
n=(a(0)+a
(1)+a
(2)+a(3)+a(4)+a(5)+a(6))/5
11、题编程显示100~500之间所有的水仙花数之和。
PrivateSubForm_Click()
100~500之间所有的水仙花数为:
Dimx%,a%,b%,c%
Forx=100To500
a=xMod10
b=(xMod100)\10
c=x\100
Ifx=a^3+b^3+c^3ThenPrintx
Nextx
12题随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
:
Text1=Int(Rnd*900+100)
PrivateSubCommand2_Click()
x=Val(Text1)
Text2=a*100+b*10+c
13题从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能否构成三角形
Dima,b,c,
a=Text1.Text
b=Text2.Text
c=Text3.Text
Ifa+b>
cAnda+c>
bAndb+c>
aThen
MsgBox"
能够成三角形"
Else
不能构成三角形"
14题已知数组a(),编程删除a中第5个元素。
数组a中的元素
分别为{12,6,4,89,75,63,100,20,31}。
Dima(),i%,j%
a=Array(12,6,4,89,75,63,100,20,31)
j=UBound(a)
Fori=0Toj
Printa(i)
Print
Fori=5Toj
a(i-1)=a(i)
Nexti
j=j-1
ReDimPreservea(j)
Fori=0Toj
Printa(i)
Print
15题随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。
Dima%(3,3)
PrivateSubForm_Load()
Fori=0To3
Forj=0To3
a(i,j)=Int(Rnd*11+10)
PrivateSubPicture1_Click()
Forj=iTo3
Picture1.PrintTab(j*5);
a(i,j);
Picture1.Print
4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标
Dima%(3,3),i%,k%,imax%
PrivateSubcommand1_click()
a(i,j)=Int(Rnd*31+20)
Picture1.Printa(i,j);
;
imax=0
Ifa(i,imax)<
a(i,j)Then
Picture2.Print"
第"
i+1;
行"
最大值为"
a(i,imax);
下标为"
("
i;
imax;
)"
17..利用随机函数生成一个4×
4的矩阵(即二维矩阵),范围是
[40,80]内的整数,求它的最大值及所对应的下标。
Dima(3,3),max%,imax%
Forj=0To3
a(i,j)=Int(Rnd*41+40)
Nextj
Printa(i,j);
Ifmax<
a(i,j)Thenmax=a(i,j):
imax=i&
j
max="
max;
imax="
imax
18..输入一系列字符串,编程求出长度最大的字符串并输出其所对应的次序。
Dima(5)AsString,b(4)AsInteger,t%,max%,imax%
Fori=1To5
a(i)=InputBox("
a"
Fori=0To4
b(i)=Len(Trim(a(i)))
max=1
Ifmax<
b(i)Thenmax=b(i):
imax=i
a(i)
cixu="
imax+1
19.利用随机函数生成一个4×
Dima(3,3),sum%
sum=sum+a(i,j)
sum="
sum
Dima()AsString,n%,i%,j%
n=Text1
ReDima(1Ton)AsString
Fori=LBound(a)ToUBound(a)
请输入字符串"
Picture1.Printa(i);
Spc
(1);
Fori=1Ton
Forj=1Ton-1
a(j+1)Thent=a(j):
a(j)=a(j+1):
a(j+1)=t
Picture2.Printa(i);
Spc
(1)
Text1="
PrivateSubForm_click()
Dima(1To10)AsInteger,i%,maxa%,mina%,aver!
a(i)=Int(Rnd*71+30)
mina=a
(1)
maxa=a
(1)
avera=a
(1)
Fori=2To10
Ifa(i)>
maxaThenmaxa=a(i)
Ifa(i)<
minaThenmina=a(i)
avera=avera+a(i)
maxa,"
min="
mina,"
aver="
avera/10
22(维数错误!
!
)、定义三个4×
4的二维数组A,B,C,A和B中的元素均随机生成,
数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相乘得到的。
Dima%(1To4,1To4),b%(1To4),c%(1To4,1To4)
数组A"
Fori=1To4
Forj=1To4
a(i,j)=Int(Rnd*20+1)
PrintTab(j*4);
数组B"
b(i,j)=Int(Rnd*100+100)
PrintTab(j*6);
b(i,j)