VB程序設計30道編程題_第1頁
VB程序設計30道編程題_第2頁
VB程序設計30道編程題_第3頁
VB程序設計30道編程題_第4頁
VB程序設計30道編程題_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、'1.輸入3個數(shù),輸出最大的數(shù)Private Sub Command11_Click()Dim max%X1=Val(InputBox("input")X2=Val(InputBox("input")x3=Val(InputBox("input")max=X1If max<=X2 Thenmax=X2End IfIf max<=x3 Thenmax=x3End IfMsgBox("3個數(shù)之中的最大數(shù)max="&max)End SubPrivate Sub Command12_Click(

2、)'2.'有一元二次方程:aX2+bX+c=0,依次輸入a,b,c,判斷此方程是否有實根a=Val(InputBox("input")B=Val(InputBox("input")c=Val(InputBox("input")s=B2-4*a*cIf a<>0 ThenIf s=0 ThenMsgBox("兩個相等實根")ElseIf s>0 ThenMsgBox("兩個不相等實根")ElseIf s<0 ThenMsgBox("兩個不相等虛根&

3、quot;)End IfElseMsgBox("無解")End IfEnd SubPrivate Sub Command13_Click()'3.輸入一個百分制的成績,若大于等于60,則用消息框彈出,顯示"恭喜!成績通過!",若小于60,則彈出消息框,顯示"抱歉!成績沒有通過!"X=Val(InputBox("input")If X>=60 ThenMsgBox("恭喜!成績通過!")ElseMsgBox("抱歉!成績沒有通過!")End IfEnd SubPr

4、ivate Sub Command14_Click()'4.輸入一年份,判斷它是否為閏年,并顯示有關信息。(判斷閏年的條件是:年份能被4整除但不能被100整除,或者能被400整除)yes=Val(InputBox("year")If yes Mod 4=0 And yes Mod 100<>0 Or yes Mod 400=0 ThenMsgBox(yes&"是閏年")ElseMsgBox(yes&"不是閏年")End IfEnd SubPrivate Sub Command15_Click()&#

5、39;5.輸入學生的百分制成績,轉(zhuǎn)換輸出為五級制成績,90100分轉(zhuǎn)換為優(yōu)秀,8089轉(zhuǎn)換為良好,7079轉(zhuǎn)換為中等,6069轉(zhuǎn)換為及格,060轉(zhuǎn)換為不及格。score=Val(InputBox("input")Select Case scoreCase Is>=90MsgBox("優(yōu)秀")Case Is>=80MsgBox("良好")Case Is>=70MsgBox("中")Case Is>=60MsgBox("及格")Case ElseMsgBox("不及

6、格")End SelectEnd Sub'6.隨機產(chǎn)生一個三位正整數(shù),然后逆序輸出,產(chǎn)生的數(shù)與逆序數(shù)同時顯示。例如,產(chǎn)生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)=cNext iMsgBox(a)End Sub'7.輸入兩個整數(shù),求它們的最大公約數(shù)m=Val(InputBox("input m值")n=Val(InputBox("input n值")If n&g

7、t;m Thent=nn=mm=tEnd Ifr=m Mod nDo While r<>0m=nn=rr=m Mod nLoopMsgBox("最大公約數(shù)="&n)End Sub21.隨機產(chǎn)生10個30,100內(nèi)的整數(shù),求最小值及所對應的下標。Dim a(10)As IntegerFor i=0 To 9a(i)=Int(Rnd*70+30)Next imin=a(0)Mini=0For i=1 To 9If a(i)<=min Thenmin=a(i)Mini=iEnd IfNext iMsgBox("min="&mi

8、n)MsgBox("mini="&Mini)End SubPrivate Sub Command18_Click()'22.隨機生成一個整型的二維數(shù)組,范圍在10,20之間,以下三角形式輸出該數(shù)組。Dim a(10,10)As IntegerFor i=0 To 9For j=0 To 9a(i,j)=Int(Rnd*20+10)Next jNext iFor i=0 To 9For j=0 To iPrint a(i,j),Next jPrintNext iEnd SubPrivate Sub Command19_Click()'23.隨機產(chǎn)生10

9、個1100的正整數(shù)放入數(shù)組,顯示產(chǎn)生的數(shù),求最大值、最小值、平均值。Dim a(10)As Integer,max%,min%For i=0 To 9a(i)=Int(Rnd*101)Print a(i)Next imax=a(0)min=a(0)For i=1 To 9If a(i)>=max Thenmax=a(i)Elsemin=a(i)End Ifsum=sum+a(i)Next iMsgBox("max="&max)MsgBox("min="&min)MsgBox("avg="&sum/10)E

10、nd SubPrivate Sub Command2_Click()'8.編程求200-400范圍內(nèi)5的倍數(shù)或7的倍數(shù)之和。(一個數(shù)如果同時是7和5的倍數(shù),則只能加一次。Dim sum1%,sum2%sum1=0:sum2=0For i=200 To 400If i Mod 5=0 Thensum1=sum1+iElseIf i Mod 7=0 Thensum2=sun2+iEnd IfDebug.Print i,sum1,sum2Next iMsgBox("5的倍數(shù)之和sum="&sum1)MsgBox("7的倍數(shù)之和sum="&

11、;sum2)End SubPrivate Sub Command20_Click()'17.編程求斐波那契數(shù)列前11項。(斐波那契數(shù)列:F(0)=f(1)=1,F(n)=F(n-1)+F(n-2)n>=2)Dim f(11)As Integerf(0)=1f(1)=1For i=2 To 10f(i)=f(i-1)+f(i-2)Next iFor i=0 To 10Print f(i);Next iEnd SubPrivate Sub Command21_Click()'18.將輸入的字符串以反序顯示。例如:輸入"ASDFGT",顯示"TGF

12、DSA"Dim s(10)As StringFor i=0 To 9s(i)=InputBox("input")Next iFor i=9 To 0 Step-1Print s(i)Next iEnd SubPrivate Sub Command22_Click()'19.隨機產(chǎn)生10個30,100內(nèi)的整數(shù),求最大值及所對應的下標Dim a(10)As Integer,max%For i=0 To 9a(i)=Int(Rnd*70+30)Next imax=a(0)maxi=0For i=1 To 9If a(i)>=max Thenmax=a(i)

13、maxi=iEnd IfNext iMsgBox("max="&max)MsgBox("maxi="&maxi)End SubPrivate Sub Command23_Click()'20.隨機產(chǎn)生10個30,100內(nèi)的整數(shù),求最大值、最小值和平均值。Dim a(10)As Integer,max%,min%For i=0 To 9a(i)=Int(Rnd*70+30)Next imax=a(0)min=a(0)For i=1 To 9If a(i)>=max Thenmax=a(i)Elsemin=a(i)End Ifs

14、um=sum+a(i)Next iMsgBox("max="&max)MsgBox("min="&min)MsgBox("avg="&sum/10)End SubPrivate Sub Command24_Click()'24.利用隨機函數(shù)生成一個4×4的矩陣(即二維矩陣),范圍是20,50內(nèi)的整數(shù),輸出該矩陣所有數(shù)據(jù)之和Dim a(4,4)As IntegerDim sum%,i%,j%For i=0 To 3For j=0 To 3a(i,j)=Int(Rnd*30+20)sum=sum+

15、a(i,j)Next jNext iFor i=0 To 3For j=0 To 3Print a(i,j),Next jPrintNext iMsgBox("sum="&sum)End SubPrivate Sub Command25_Click()'25.已知有序數(shù)組a(),編程插入x(x的值為14)。數(shù)組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=14n=UBound(a)'獲得數(shù)組的下標上界For i

16、=0 To n-1'進行n-1輪比較iMin=i'對第i輪比較時,初始假定第i個元素最小For j=i+1 To n'在數(shù)組i+1n個元素中選最小元素的下標If a(j)<a(iMin)Then iMin=jNext jt=a(i)'i+1n個元素中選出的最小元素與第i個元素交換a(i)=a(iMin)a(iMin)=tNext iFor k=0 To n'查找欲插入數(shù)x在數(shù)組中的位置If X<a(k)Then Exit ForNext kReDim Preserve a(n+1)'數(shù)組增加一個元素For i=n To k Step-

17、1'數(shù)組元素后移一位,騰出位置a(i+1)=a(i)Next ia(k)=XFor i=0 To n+1Print a(i);NextEnd SubPrivate Sub Command26_Click()'26.編寫一函數(shù),計算Double類型一維數(shù)組所有元素的平均值。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 SubFunction sum1%(X()Dim i%sum1

18、=0For i=0 To UBound(X)sum1=sum1+X(i)Next iEnd FunctionPrivate Sub Command27_Click()'27.用函數(shù)過程求表達式1+1/2+1/3+1/4+1/n的和.n=InputBox("INPUT")s=sum2(n)MsgBox("SUM2="&s)End SubFunction sum2!(ByVal n As Integer)Dim i%sum2=0For i=1 To nsum2=sum2+1/iNext iEnd FunctionPrivate Sub Com

19、mand28_Click()'28.編一子過程ProcMin,求一維數(shù)組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 SubSub procmin(X(),ByRef min%)Dim i%min=X(0)For i=1 To UBound(X)If X(i)<=min Then min=X(i)Next iEnd SubPrivate Sub Command29_Click(

20、)'29.編一個函數(shù),求一維數(shù)組a中的最大值,函數(shù)的形參自己確定。Dim a(),n%,s!a=Array(1,4,7,9,12,23,56)n=UBound(a)s=max(a()MsgBox("max="&s)End SubFunction max%(X()Dim i%max=X(0)For i=1 To UBound(X)If X(i)>max Then max=X(i)Next iEnd FunctionPrivate Sub Command3_Click()'9.計算100300之間所有能被3和7整除的數(shù)之和Dim sum%sum=0

21、For i=100 To 300If i Mod 3=0 And i Mod 7=0 Thensum=sum+iPrivate Sub Command30_Click()'30.編寫一個過程計算并輸出區(qū)間100,1000內(nèi)所有素數(shù)的和(要求判斷素數(shù)使用過程(函數(shù)或子過程)來實現(xiàn)。調(diào)用該過程。(提示:只能被1和自身整除的自然數(shù)稱為素數(shù)。)Dim i%,sum!,f%sum=0For i=100 To 1000Call procs(i,f)If f=1 Thensum=sum+iEnd IfNext iMsgBox("sum="&sum)End SubSub p

22、rocs(ByVal X%,ByRef f%)Dim i%f=1For i=2 To X-1If i Mod X=0 Thenf=0Exit ForEnd IfNext iEnd SubPrivate Sub Command4_Click()'10.分別統(tǒng)計1-100中,滿足3的倍數(shù)、7的倍數(shù)的數(shù)各有多少m=0:n=0For i=1 To 100If i Mod 3=0 Thenn=n+1ElseIf i Mod 7=0 Thenm=m+1End IfNext iMsgBox("3的倍數(shù)個數(shù)="&n)MsgBox("7的倍數(shù)個數(shù)="&am

23、p;m)End SubPrivate Sub Command5_Click()'11.某次歌曲大獎賽,有7個評委。如果分別輸入7個評委對某個參賽者的打分數(shù),按照去掉一個最高分和一個最低分的計算辦法,求出該參賽者的平均得分Dim sum%,max%,min%sum=0:max=0:min=999For i=1 To 7X=Val(InputBox("input")If max<=X Thenmax=XEnd IfIf min>=X Thenmin=XEnd Ifsum=sum+XNext iAvg=(sum-max-min)/5MsgBox("最高分="&max)MsgBox("最低分="&min)MsgBox("總和="&sum)MsgBox("平均分="&Avg)End Sub'12.輸入一串字符,統(tǒng)計其中字母A(不區(qū)分大小寫)出現(xiàn)的次數(shù)。Dim ch As Stringch=&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論