下载此文档

VB编程题及答案.docx


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
该【VB编程题及答案 】是由【君君】上传分享,文档一共【16】页,该文档可以免费在线阅读,需要了解更多关于【VB编程题及答案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。Companynumber:【0089WT-8898YT-W8CCB-BUUT-202108】
VB编程题及答案
VB编程题
1、求100以内的素数。
2、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。
3、计算0~200之间所有能被11或5整除的数之和
4、输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)
5、已知x,y,z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x<y<z。
6、求s=a+aa+aaa+...aaaaa(n个a),其中a和n的值随机产生,a的范围是[1,9]的整数,n的范围是[5,10]。如a=3,n=6,则s=3+33+333+3333+33333+333333。编程确定n和a的值,并计算s。
7、计算100~300之间所有能被3和7整除的数之和。
8、编程求200--400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。)
9、找出被3、5、7除,余数为1的最小的5个正整数。
10、某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
11、编程显示100~500之间所有的水仙花数之和。(水仙花数是3位数,其各位数之和等于该数本身)
12、随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。
13、从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能否构成三角形。
14、已知数组a(),编程删除a中第5个元素。数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。
15、随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。
16、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标。
17、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[40,80]内的整数,求它的最大值及所对应的下标。
18、输入一系列字符串,编程求出长度最大的字符串并输出其所对应的次序。
19、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和
20、输入一系列字符串,将字符串按递减次序排列。请编程实现。
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相加得到的。请编程生成并输出A,B,C。
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]内所有素数的和。(提示:只能被1和自身整除的自然数称为素数。)
40、编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。
41、编一个冒泡排序法子过程,对已知的若干整数按递减次序排列。提示:子过程的形式为subsort1(a%())。
42、编一个选择排序法子过程,对已知的若干整数按递减次序排列。提示:子过程的形式为subsort1(a%())。
43、编一个选择排序法子过程,对已知的若干整数按递增次序排列。提示:子过程的形式为subsort1(a%())。
44、编一个冒泡排序法子过程,对已知的若干整数按递增次序排列。提示:子过程的形式为subsort1(a%())。
45、编一个冒泡排序法子过程,对已知的若干整数按递增次序排列。提示:子过程的形式为subsort1(a%())。
VB答案
1、求100以内的素数。
.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
 Nexta
 Printn
EndSub
~200之间所有能被11或5整除的数之和
PrivateSubCommand1_Click()
Dimi%,sum
sum=0
Fori=1To200
 IfiMod5=0OriMod11=0Then
 sum=sum+i
EndIf
Nexti
Printsum
EndSub
,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)
PrivateSubCommand1_Click()
 Dimi%
 n=InputBox("输入年份n")
 i=0
 IfnMod4=0AndnMod100<>0OrnMod400=0Then
 i=1
 EndIf
 Ifi=1Then
 Printn&"为闰年"
 Else
 Printn&"为平年"
EndIf
EndSub
,y,z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x<y<z。
PrivateSubCommand1_Click()
Dimx%,y%,z%,i
x=Int(Rnd*100)
y=Int(Rnd*100)
z=Int(Rnd*100)
Ifx>yThen
i=x
x=y
y=i
EndIf
Ifx>zThen
i=x
x=z
z=i
EndIf
Ify>zThen
i=y
y=z
z=i
EndIf
Printx&"<"&y&"<"&z
EndSub
=a+aa+aaa+...aaaaa(n个a),其中a和n的值随机产生,a的范围
是[1,9]的整数,n的范围是[5,10]。如a=3,n=6,则s=3+33+333+3333+33333+333333。编程确定n和a的值,并计算s。
PrivateSubCommand1_Click()
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
Nexti
s=c(1)+c(2)+c(3)+c(4)
Fori=5Ton
s=s+c(i)
Nexti
Print"a="&a,"n="&n,"s="&s
EndSub
7计算100~300之间所有能被3和7整除的数之和。
.PrivateSubCommand1_Click()
Dims%,i%
s=0
Fori=100To300
IfiMod3=0OriMod7=0Then
s=s+i
EndIf
Nexti
Print"s="&s
EndSub
8编程求200--400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。)
.PrivateSubCommand1_Click()
Dims1%,s2%,s3%,i%
s1=0
s2=0
Fori=200To400
IfiMod5=0OriMod7=0Then
s1=s1+i
EndIf
Nexti
Fori=200To400
IfiMod5=0AndiMod7=0Then
s2=s2+i
EndIf
Nexti
s3=s1-s2
Prints3
EndSub
9..找出被3、5、7除,余数为1的最小的5个正整数。
.PrivateSubForm_Click()
Dimt%
Fori=0To500
 IfiMod5=1AndiMod7=1AndiMod3=1ThenPrinti;
 Nexti
EndSub
10某次歌曲大奖赛,有7个评委。如果分别输入7个评委
对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分。
.PrivateSubCommand1_Click()
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
Nexti
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
Printn
EndSub
11、题编程显示100~500之间所有的水仙花数之和。(水仙花数是3位数,其各位数之和等于该数本身)
PrivateSubForm_Click()
Print"100~500之间所有的水仙花数为:"
 Dimx%,a%,b%,c%
Forx=100To500
a=xMod10
b=(xMod100)\10
c=x\100
Ifx=a^3+b^3+c^3ThenPrintx
Nextx
EndSub
12题随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。
:PrivateSubCommand1_Click()
Text1=Int(Rnd*900+100)
EndSub
PrivateSubCommand2_Click()
Dimx%,a%,b%,c%
x=Val(Text1)
a=xMod10
b=(xMod100)\10
c=x\100
Text2=a*100+b*10+c
EndSub
13题从键盘输入三角形的三条边a,b,c的值,根据其数值,判断能否构成三角形
:PrivateSubForm_Click()
Dima,b,c,
  a=
  b=
  c=
  Ifa+b>cAnda+c>bAndb+c>aThen
  MsgBox"能够成三角形"
  Else
  MsgBox"不能构成三角形"
EndIf
EndSub
14题已知数组a(),编程删除a中第5个元素。数组a中的元素
分别为{12,6,4,89,75,63,100,20,31}。
PrivateSubForm_Click()
Dima(),i%,j%
a=Array(12,6,4,89,75,63,100,20,31)
j=UBound(a)
Fori=0Toj
Printa(i)
Nexti
Print
  Fori=5Toj
   a(i-1)=a(i)
   Nexti
   j=j-1
  ReDimPreservea(j)
  Fori=0Toj
  Printa(i)
  Nexti
  Print
EndSub
15题随机生成一个整型的二维数组,范围在[10,20]之间,以上三角形式输出该数组。
Dima%(3,3)
PrivateSubForm_Load()
 Fori=0To3
 Forj=0To3
 a(i,j)=Int(Rnd*11+10)
 Nextj
 Nexti
EndSub
PrivateSubPicture1_Click()
 Fori=0To3
 Forj=iTo3
 Tab(j*5);a(i,j);
 Nextj
 
 Nexti
EndSub
16、利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出每行中的最大值和下标
Dima%(3,3),i%,k%,imax%
PrivateSubcommand1_click()
Fori=0To3
Forj=0To3
a(i,j)=Int(Rnd*31+20)
a(i,j);"";
Nextj
Nexti
imax=0
Fori=0To3
Forj=0To3
Ifa(i,imax)<a(i,j)Then
imax=0
EndIf
Nextj
"第";i+1;"行";"最大值为";a(i,imax);"下标为";"(";i;imax;")"
Nexti
EndSub
17..利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是
[40,80]内的整数,求它的最大值及所对应的下标。
PrivateSubForm_Click()
Dima(3,3),max%,imax%
Fori=0To3
 Forj=0To3
a(i,j)=Int(Rnd*41+40)
 Nextj
Nexti
Fori=0To3
 Forj=0To3
 Printa(i,j);
  Nextj
 Print
Nexti
Fori=0To3
 Forj=0To3
  Ifmax<a(i,j)Thenmax=a(i,j):imax=i&j
 Nextj
Nexti
 Print"max=";max;"imax=";imax
EndSub
18..输入一系列字符串,编程求出长度最大的字符串并输出其所对应的次序。
.PrivateSubForm_Click()
Dima(5)AsString,b(4)AsInteger,t%,max%,imax%
Fori=1To5
 a(i)=InputBox("a")
 Nexti
Fori=0To4
 b(i)=Len(Trim(a(i)))
 Nexti
 max=1
Fori=0To4
 Ifmax<b(i)Thenmax=b(i):imax=i
 Nexti
 Print"max=";a(i)
 Print"cixu=";imax+1
EndSub
×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和
.PrivateSubForm_Click()
Dima(3,3),sum%
Fori=0To3
 Forj=0To3
a(i,j)=Int(Rnd*31+20)
 Nextj
Nexti
Fori=0To3
 Forj=0To3
 Printa(i,j);
  Nextj
 Print
Nexti
Fori=0To3
 Forj=0To3
  sum=sum+a(i,j)
  Nextj
 Nexti
 Print"sum=";sum
EndSub
20、输入一系列字符串,将字符串按递减次序排列。请编程实现。
Dima()AsString,n%,i%,j%
PrivateSubCommand1_Click()
n=Text1
ReDima(1Ton)AsString
Fori=LBound(a)ToUBound(a)
a(i)=InputBox("请输入字符串")
a(i);Spc(1);
Nexti
EndSub
PrivateSubCommand2_Click()
Fori=1Ton
Forj=1Ton-1
Ifa(j)<a(j+1)Thent=a(j):a(j)=a(j+1):a(j+1)=t
Nextj
Nexti
Fori=1Ton
a(i);Spc(1)
Nexti
EndSub
PrivateSubForm_Load()
Text1=""
EndSub
21、随机产生10个[30,100]内的整数,求最大值、最小值和平均值。
PrivateSubForm_click()
Dima(1To10)AsInteger,i%,maxa%,mina%,aver!
Fori=1To10
a(i)=Int(Rnd*71+30)
Nexti
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)
Nexti
Fori=1To10
Printa(i)
Nexti
Print
Print"max=";maxa,"min=";mina,"aver=";avera/10
EndSub
22(维数错误!!!!!!!!!)、定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,
数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相乘得到的。请编程生成并输出A,B,C。
PrivateSubForm_click()
Dima%(1To4,1To4),b%(1To4),c%(1To4,1To4)
Print"数组A"
Fori=1To4
Forj=1To4
a(i,j)=Int(Rnd*20+1)
PrintTab(j*4);a(i,j);
Nextj
Print
Nexti
Print"数组B"
Fori=1To4
Forj=1To4
b(i,j)=Int(Rnd*100+100)
PrintTab(j*6);b(i,j)
Nextj
Print
Nexti
Print"数组C"
Fori=1To4
Forj=1To4
c(i,j)=b(i,j)*a(i,j)
PrintTab(j*4);c(i,j)
Nextj
Print
Nexti
EndSub
23、随机产生15个小写字母,放在字符数组中。提示:c=chr(int(rnd*26+97))
PrivateSubForm_click()
Dima$(1To15),i%
Print"字符数组为a(i):"
Fori=1To15
a(i)=Chr(Int(Rnd*26+97))
Printa(i);Spc(1);
Nexti
Print
EndSub
PrivateSubform_load()
FontSize="10"
EndSub
24随机产生10个[30,100]内的整数,求最大值及所对应的下标。
PrivateSubForm_Click()
Dima(9),max%,imax%
Fori=0To9
a(i)=Int(Rnd*71+30)
Printa(i);
Nexti
Print
max=a(0)
Fori=1To9
 Ifmax<a(i)Thenmax=a(i):imax=i
 Nexti
Print"max=";max
Print"imax=";imax
EndSub
25定义三个4×4的二维数组A,B,C,A和B中的元素均随机生成,
数组A的范围是1~20,数组B的范围是100~200,数组C是A和B相加得到的。请编程生成并输出A,B,C。
PrivateSubCommand1_Click()
Dima(3,3),b(3,3),c(3,3),t%,m%
Fori=0To3
 Forj=0To3
  a(i,j)=Int(Rnd*20+1)

VB编程题及答案 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人君君
  • 文件大小347 KB
  • 时间2023-02-14