1、'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,依
2、次输入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、 '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"))
4、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(
5、"优秀") 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 MsgB
6、ox(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
7、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) Ne
8、xt 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
9、 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
10、 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
11、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]内的整数,求最大值及所对应的下标
12、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
13、 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]内的整数,输出
14、该矩阵所有数据之和 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
15、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)






