vb编程题及答案.docx

上传人:b****6 文档编号:5171739 上传时间:2022-12-13 格式:DOCX 页数:29 大小:23.33KB
下载 相关 举报
vb编程题及答案.docx_第1页
第1页 / 共29页
vb编程题及答案.docx_第2页
第2页 / 共29页
vb编程题及答案.docx_第3页
第3页 / 共29页
vb编程题及答案.docx_第4页
第4页 / 共29页
vb编程题及答案.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

vb编程题及答案.docx

《vb编程题及答案.docx》由会员分享,可在线阅读,更多相关《vb编程题及答案.docx(29页珍藏版)》请在冰豆网上搜索。

vb编程题及答案.docx

vb编程题及答案

VB编程题

1、求100以内的素数。

2、从键盘输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEFG”变换成“GFEDCBA”。

3、计算0~200之间所有能被11或5整除的数之和

4、输入一年份,判断它是否为闰年,并显示有关信息。

(判断闰年的条件是:

年份能被4整除但不能被100整除,或者能被400整除)

5、已知x,y,z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x

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

3.计算0~200之间所有能被11或5整除的数之和

PrivateSubCommand1_Click()

Dimi%,sum

sum=0

Fori=1To200

 IfiMod5=0OriMod11=0Then

 sum=sum+i

EndIf

Nexti

Printsum

EndSub

4.输入一年份,判断它是否为闰年,并显示有关信息。

(判断闰年的条件是:

年份能被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

5.已知x,y,z3个变量中存放了3个不同的数,比较它们的大小并进行调整,使得x

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

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。

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)

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=Text1.Text

  b=Text2.Text

  c=Text3.Text

  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

 Picture1.PrintTab(j*5);a(i,j);

 Nextj

 Picture1.Print

 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)

Picture1.Printa(i,j);"";

Nextj

Picture1.Print

Nexti

imax=0

Fori=0To3

Forj=0To3

Ifa(i,imax)

imax=0

EndIf

Nextj

Picture2.Print"第";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

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

imax=i

 Nexti

 Print"max=";a(i)

 Print"cixu=";imax+1

EndSub

19.利用随机函数生成一个4×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("请输入字符串")

Picture1.Printa(i);Spc

(1);

Nexti

EndSub

PrivateSubCommand2_Click()

Fori=1Ton

Forj=1Ton-1

Ifa(j)

a(j)=a(j+1):

a(j+1)=t

Nextj

Nexti

Fori=1Ton

Picture2.Printa(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)

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1