vb程序设计0道编程题

更新时间:2023-12-30 22:10:02 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

'1.输入3个数,输出最大的数 Private Sub Command11_Click() Dim max% X1=Val(InputBox(\X2=Val(InputBox(\x3=Val(InputBox(\max=X1 If max<=X2 Then max=X2 End If If max<=x3 Then max=x3 End If MsgBox(\个数之中的最大数max=\End Sub Private Sub Command12_Click() '2.'有一元二次方程:aX2+bX+c=0,依次输入a,b,c,判断此方程是否有实根 a=Val(InputBox(\B=Val(InputBox(\c=Val(InputBox(\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 Command13_Click() '3.输入一个百分制的成绩,若大于等于60,则用消息框弹出,显示\恭喜!成绩通过!\,若小于60,则弹出消息框,显示\抱歉!成绩没有通过!\X=Val(InputBox(\If X>=60 Then MsgBox(\恭喜!成绩通过!\Else MsgBox(\抱歉!成绩没有通过!\End If End Sub Private Sub Command14_Click() '4.输入一年份,判断它是否为闰年,并显示有关信息。(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除) yes=Val(InputBox(\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 Command15_Click() '5.输入学生的百分制成绩,转换输出为五级制成绩,90~100分转换为优秀,80~89转换为良好,70~79转换为中等,60~69转换为及格,0~60转换为不及格。 score=Val(InputBox(\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=\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(\值\n=Val(InputBox(\值\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(\最大公约数=\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(\MsgBox(\End Sub Private Sub Command18_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 Command19_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(\MsgBox(\MsgBox(\End Sub Private Sub Command2_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(\的倍数之和sum=\MsgBox(\的倍数之和sum=\End Sub Private Sub Command20_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 Command21_Click() '18.将输入的字符串以反序显示。例如:输入\,显示\Dim s(10)As String For i=0 To 9 s(i)=InputBox(\Next i For i=9 To 0 Step-1 Print s(i) Next i End Sub Private Sub Command22_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(\MsgBox(\End Sub Private Sub Command23_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(\MsgBox(\MsgBox(\End Sub Private Sub Command24_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(\End Sub Private Sub Command25_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)max Then max=X(i) Next i End Function Private Sub Command3_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 Command30_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(\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 Command4_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(\的倍数个数=\MsgBox(\的倍数个数=\End Sub Private Sub Command5_Click() '11.某次歌曲大奖赛,有7个评委。如果分别输入7个评委对某个参赛者的打分数,按照去掉一个最高分和一个最低分的计算办法,求出该参赛者的平均得分 Dim sum%,max%,min% sum=0:max=0:min=999 For i=1 To 7 X=Val(InputBox(\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(\最高分=\MsgBox(\最低分=\MsgBox(\总和=\MsgBox(\平均分=\End Sub '12.输入一串字符,统计其中字母A(不区分大小写)出现的次数。 Dim ch As String ch=\n=0 For i=1 To Len(ch) st=Mid(ch,i,1) If UCase(st)=\n=n+1 End If Next i MsgBox(\字符串中出现A字符的系数\End Sub Private Sub Command6_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 Command7_Click() '14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少? X=1 For i=6 To 1 Step-1 X=(X+1)*2 Next i MsgBox(X) End Sub Private Sub Command8_Click() '15.求100以内的素数 For i=1 To 100 16flag=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 Command9_Click() '.百元买百鸡问题。假定小鸡每只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

End Sub Private Sub Command7_Click() '14.小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少? X=1 For i=6 To 1 Step-1 X=(X+1)*2 Next i MsgBox(X) End Sub Private Sub Command8_Click() '15.求100以内的素数 For i=1 To 100 16flag=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 Command9_Click() '.百元买百鸡问题。假定小鸡每只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

本文来源:https://www.bwwdw.com/article/49mx.html

Top