分享
分销 收藏 举报 申诉 / 5
播放页_导航下方通栏广告

类型VB程序设计30道编程题.doc

  • 上传人:天****
  • 文档编号:4143349
  • 上传时间:2024-08-01
  • 格式:DOC
  • 页数:5
  • 大小:140KB
  • 下载积分:6 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    VB 程序设计 30 编程
    资源描述:
    '1.输入3个数,输出最大的数 Private Sub mand11_Click() Dim max% X1=Val(InputBox("input")) X2=Val(InputBox("input")) x3=Val(InputBox("input")) max=X1 If max<=X2 Then max=X2 End If If max<=x3 Then max=x3 End If MsgBox("3个数之中的最大数max="&max) End Sub Private Sub mand12_Click() '2.'有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根 a=Val(InputBox("input")) B=Val(InputBox("input")) c=Val(InputBox("input")) s=B^2-4*a*c If a<>0 Then If s=0 Then MsgBox("两个相等实根") ElseIf s>0 Then MsgBox("两个不相等实根") ElseIf s<0 Then MsgBox("两个不相等虚根") End If Else MsgBox("无解") End If End Sub Private Sub mand13_Click() '3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示"恭喜!成绩通过!",若小于60,则弹出消息框,显示"抱歉!成绩没有通过!" X=Val(InputBox("input")) If X>=60 Then MsgBox("恭喜!成绩通过!") Else MsgBox("抱歉!成绩没有通过!") End If End Sub Private Sub mand14_Click() '4.输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除) yes=Val(InputBox("year")) If yes Mod 4=0 And yes Mod 100<>0 Or yes Mod 400=0 Then MsgBox(yes&"是闰年") Else MsgBox(yes&"不是闰年") End If End Sub Private Sub mand15_Click() '5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。 score=Val(InputBox("input")) Select Case score Case Is>=90 MsgBox("优秀") Case Is>=80 MsgBox("良好") Case Is>=70 MsgBox("中") Case Is>=60 MsgBox("及格") Case Else MsgBox("不及格") End Select End Sub '6.随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。例如,产生246,输出是642。 a="645" n=Len(a) For i=1 To Int(n/2) c=Mid(a,i,1) Mid(a,i,1)=Mid(a,n-i+1,1) Mid(a,n-i+1,1)=c Next i MsgBox(a) End Sub '7.输入两个整数,求它们的最大公约数 m=Val(InputBox("input m值")) n=Val(InputBox("input n值")) If n>m Then t=n n=m m=t End If r=m Mod n Do While r<>0 m=n n=r r=m Mod n Loop MsgBox("最大公约数="&n) End Sub 21.随机产生10个[30,100]内的整数,求最小值及所对应的下标。 Dim a(10)As Integer For i=0 To 9 a(i)=Int(Rnd*70+30) Next i min=a(0) Mini=0 For i=1 To 9 If a(i)<=min Then min=a(i) Mini=i End If Next i MsgBox("min="&min) MsgBox("mini="&Mini) End Sub Private Sub mand18_Click() '22.随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。 Dim a(10,10)As Integer For i=0 To 9 For j=0 To 9 a(i,j)=Int(Rnd*20+10) Next j Next i For i=0 To 9 For j=0 To i Print a(i,j), Next j Print Next i End Sub Private Sub mand19_Click() '23.随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。 Dim a(10)As Integer,max%,min% For i=0 To 9 a(i)=Int(Rnd*101) Print a(i) Next i max=a(0) min=a(0) For i=1 To 9 If a(i)>=max Then max=a(i) Else min=a(i) End If sum=sum+a(i) Next i MsgBox("max="&max) MsgBox("min="&min) MsgBox("avg="&sum/10) End Sub Private Sub mand2_Click() '8.编程求200--400范围内5的倍数或7的倍数之和。(一个数如果同时是7和5的倍数,则只能加一次。 Dim sum1%,sum2% sum1=0:sum2=0 For i=200 To 400 If i Mod 5=0 Then sum1=sum1+i ElseIf i Mod 7=0 Then sum2=sun2+i End If Debug.Print i,sum1,sum2 Next i MsgBox("5的倍数之和sum="&sum1) MsgBox("7的倍数之和sum="&sum2) End Sub Private Sub mand20_Click() '17.编程求斐波那契数列前11项。(斐波那契数列:F(0)=f(1)=1,F(n)=F(n-1)+F(n-2)n>=2) Dim f(11)As Integer f(0)=1 f(1)=1 For i=2 To 10 f(i)=f(i-1)+f(i-2) Next i For i=0 To 10 Print f(i); Next i End Sub Private Sub mand21_Click() '18.将输入的字符串以反序显示。例如:输入"ASDFGT",显示"TGFDSA" Dim s(10)As String For i=0 To 9 s(i)=InputBox("input") Next i For i=9 To 0 Step-1 Print s(i) Next i End Sub Private Sub mand22_Click() '19.随机产生10个[30,100]内的整数,求最大值及所对应的下标 Dim a(10)As Integer,max% For i=0 To 9 a(i)=Int(Rnd*70+30) Next i max=a(0) maxi=0 For i=1 To 9 If a(i)>=max Then max=a(i) maxi=i End If Next i MsgBox("max="&max) MsgBox("maxi="&maxi) End Sub Private Sub mand23_Click() '20.随机产生10个[30,100]内的整数,求最大值、最小值和平均值。 Dim a(10)As Integer,max%,min% For i=0 To 9 a(i)=Int(Rnd*70+30) Next i max=a(0) min=a(0) For i=1 To 9 If a(i)>=max Then max=a(i) Else min=a(i) End If sum=sum+a(i) Next i MsgBox("max="&max) MsgBox("min="&min) MsgBox("avg="&sum/10) End Sub Private Sub mand24_Click() '24.利用随机函数生成一个4×4的矩阵(即二维矩阵),范围是[20,50]内的整数,输出该矩阵所有数据之和 Dim a(4,4)As Integer Dim sum%,i%,j% For i=0 To 3 For j=0 To 3 a(i,j)=Int(Rnd*30+20) sum=sum+a(i,j) Next j Next i For i=0 To 3 For j=0 To 3 Print a(i,j), Next j Print Next i MsgBox("sum="&sum) End Sub Private Sub mand25_Click() '25.已知有序数组a(),编程插入x(x的值为14)。数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。 Dim a(),iMin%,n%,i%,j%,t% a=Array(2,6,4,89,75,63,100,20,31) X=14 n=UBound(a)'获得数组的下标上界 For i=0 To n-1'进行n-1轮比较 iMin=i'对第i轮比较时,初始假定第i个元素最小 For j=i+1 To n'在数组i+1~n个元素中选最小元素的下标 If a(j)<a(iMin)Then iMin=j Next j t=a(i)'i+1~n个元素中选出的最小元素与第i个元素交换 a(i)=a(iMin) a(iMin)=t Next i For k=0 To n'查找欲插入数x在数组中的位置 If X<a(k)Then Exit For Next k ReDim Preserve a(n+1)'数组增加一个元素 For i=n To k Step-1'数组元素后移一位,腾出位置 a(i+1)=a(i) Next i a(k)=X For i=0 To n+1 Print a(i); Next End Sub Private Sub mand26_Click() '26.编写一函数,计算Double类型一维数组所有元素的平均值。 Dim a(),n%,s! a=Array(1,4,7,9,12,23,56) n=UBound(a) s=sum1(a()) MsgBox("sum="&s) MsgBox("avg="&s/n) End Sub Function sum1%(X()) Dim i% sum1=0 For i=0 To UBound(X) sum1=sum1+X(i) Next i End Function Private Sub mand27_Click() '27.用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和. n=InputBox("INPUT") s=sum2(n) MsgBox("SUM2="&s) End Sub Function sum2!(ByVal n As Integer) Dim i% sum2=0 For i=1 To n sum2=sum2+1/i Next i End Function Private Sub mand28_Click() '28.编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定 Dim a(),n%,min% a=Array(1,4,7,9,12,-23,56) n=UBound(a) Call procmin(a(),min) MsgBox("min="&min) End Sub Sub procmin(X(),ByRef min%) Dim i% min=X(0) For i=1 To UBound(X) If X(i)<=min Then min=X(i) Next i End Sub Private Sub mand29_Click() '29.编一个函数,求一维数组a中的最大值,函数的形参自己确定。 Dim a(),n%,s! a=Array(1,4,7,9,12,23,56) n=UBound(a) s=max(a()) MsgBox("max="&s) End Sub Function max%(X()) Dim i% max=X(0) For i=1 To UBound(X) If X(i)>max Then max=X(i) Next i End Function Private Sub mand3_Click() '9.计算100~300之间所有能被3和7整除的数之和 Dim sum% sum=0 For i=100 To 300 If i Mod 3=0 And i Mod 7=0 Then sum=sum+i Private Sub mand30_Click() '30.编写一个过程计算并输出区间[100,1000]内所有素数的和(要求判断素数使用过程(函数或子过程)来实现。调用该过程。(提示:只能被1和自身整除的自然数称为素数。) Dim i%,sum!,f% sum=0 For i=100 To 1000 Call procs(i,f) If f=1 Then sum=sum+i End If Next i MsgBox("sum="&sum) End Sub Sub procs(ByVal X%,ByRef f%) Dim i% f=1 For i=2 To X-1 If i Mod X=0 Then f=0 Exit For End If Next i End Sub Private Sub mand4_Click() '10.分别统计1-100中,满足3的倍数、7的倍数的数各有多少 m=0:n=0 For i=1 To 100 If i Mod 3=0 Then n=n+1 ElseIf i Mod 7=0 Then m=m+1 End If Next i MsgBox("3的倍数个数="&n) MsgBox("7的倍数个数="&m) End Sub Private Sub mand5_Click() '11.某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分 Dim sum%,max%,min% sum=0:max=0:min=999 For i=1 To 7 X=Val(InputBox("input")) If max<=X Then max=X End If If min>=X Then min=X End If sum=sum+X Next i Avg=(sum-max-min)/5 MsgBox("最高分="&max) MsgBox("最低分="&min) MsgBox("总和="&sum) MsgBox("平均分="&Avg) End Sub '12.输入一串字符,统计其中字母A(不区分大小写)出现的次数。 Dim ch As String ch="ASDEAS" n=0 For i=1 To Len(ch) st=Mid(ch,i,1) If UCase(st)="A"Then n=n+1 End If Next i MsgBox("字符串中出现A字符的系数"&n) End Sub Private Sub mand6_Click() '13.我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。 n=0 X=13 Do While X<=26 X=X*1.008 n=n+1 Loop MsgBox(n) End Sub Private Sub mand7_Click() '14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少? X=1 For i=6 To 1 Step-1 X=(X+1)*2 Next i MsgBox(X) End Sub Private Sub mand8_Click() '15.求100以内的素数 For i=1 To 100 flag=1 For j=2 To i-1 If i Mod j=0 Then flag=0 End If Next j If flag=1 Then MsgBox(i&"是素数") End If Next i End Sub Private Sub mand9_Click() ' 16 .百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。 n=0 For X=0 To 33 For y=0 To 50 z=100-X-y If 3*X+2*y+0.5*z=100 Then Print X,y,z End If Next y Next X End Sub
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:VB程序设计30道编程题.doc
    链接地址:https://www.zixin.com.cn/doc/4143349.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork