Public Class Form1
創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元無為做網(wǎng)站,已為上家服務(wù),為無為各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim n As Integer, i As Integer, j As Integer, a(,) As Integer
n = 10
ReDim a(n + 1, n + 1)
For i = 1 To n + 1
a(i, 1) = 1 : a(i, i) = 1 : Next i
For i = 3 To n + 1
For j = 2 To i - 1
a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
Next j, i
For i = 1 To n + 1
For j = 1 To i
TextBox1.AppendText(Space(4 - Len(Trim(Str(a(i, j))))) Trim(Str(a(i, j))))
Next j
TextBox1.AppendText(vbCrLf)
Next i
End Sub
End Class,9,
xixihahano1 舉報
謝謝了,但是你寫的代碼可以輸出多少行?多久會溢出了
舉報 ccddty
沒試過,你可以試試,將n的值加大 當(dāng)n》16的時候就顯示“參數(shù)“Number”必須大于或等于 0。”了 有沒有辦法解決?,
Dim a, b, c, s, p As Single
a = Val(InputBox("請輸入三角形邊長a"))
b = Val(InputBox("請輸入三角形邊長b"))
c = Val(InputBox("請輸入三角形邊長c"))
If a + b = c Or b + c = a Or c + a = b Then
MsgBox("這樣的三角形不存在")
Else
If a = b Or b = c Or c = a Then
MsgBox("這是一個等腰三角形")
End If
If a = b = c Then
MsgBox("這是一個等邊三角形")
End If
If a ^ 2 + b ^ 2 = c ^ 2 Or b ^ 2 + c ^ 2 = a ^ 2 Or c ^ 2 + a ^ 2 = b ^ 2 Then
MsgBox("這是一個直角三角形")
End If
p = (a + b + c) / 2
s = Math.Sqrt(p * (p - a) * (p - b) * (p - c))
MsgBox("這個三角形的面積是" s)
End If
End Sub
代碼如下:
Dim a!, b!, c!, s!, p!
a = InputBox("請輸入第一條邊長")
b = InputBox("請輸入第二條邊長")
c = InputBox("請輸入第三條邊長")
If a + b = c Or b + c = a Or c + a = b Then
Print "這樣的三角形不存在"
Else
p = (a + b + c) / 2
s = Sqr(p * (p - a) * (p - b) * (p - c))
Print "這個三角形的面積是"; s
End?If
擴(kuò)展資料:
語言缺點(diǎn):
Visual Basic 語言具有不支持繼承、無原生支持多線程、異常處理不完善等三項(xiàng)明顯缺點(diǎn),使其有所局限性(此些缺點(diǎn)皆已在 vb .net 獲得改進(jìn))。
不支持繼承
VB 5.0 和 VB 6.0 都是基于對象的編程語言,但是不包含繼承特性。VB 中提供了特殊的類的功能,但是還是不能滿足程序員的需求。
無原生支持多線程
Visual Basic 對于多線程無原生支持,只能通過Windows API的調(diào)用實(shí)現(xiàn),且極其的不穩(wěn)定。因?yàn)樵贏PI創(chuàng)建的線程中,并沒有自動初始化運(yùn)行時庫,導(dǎo)致部分的函數(shù)無法使用。一般的,在VB6等早期的VB開發(fā)環(huán)境下,使用API創(chuàng)建線程的目的是完成容易使程序假死的大量數(shù)據(jù)或者邏輯的計(jì)算。
異常處理不完善
Visual Basic 中內(nèi)置異常處理,即使未寫異常處理代碼,一旦用戶出錯也會彈出一個明確寫出出錯原因?qū)υ捒颍又绦蚪K止。
Visual Basic 中可以使用 Err.Raise拋出異常。對系統(tǒng)及用戶拋出的異常的處理常用兩種模式:一是使用 On Error Resume Next 處理錯誤;另一種是使用 On Error Goto 將運(yùn)行引入錯誤處理代碼。但相對 C++ 等語言而言,這樣的異常處理破壞了代碼的結(jié)構(gòu)。
微軟開發(fā)了一系列由 Visual Basic 所派生的語言:
VBA
Visual Basic for Applications(VBA):包含在微軟的應(yīng)用程序中(如Microsoft Office),以及類似WordPerfect、Office這樣第三方的產(chǎn)品里面。VBA 這樣嵌入在各種應(yīng)用程序中看起來有些矛盾,但是它的功能和 VB 一樣強(qiáng)大。
VBS
VBScript(VBS):是默認(rèn)的ASP語言,還可以用在Windows腳本編寫和網(wǎng)頁編碼中。盡管它的語法類似于VB,但是它卻是一種完全不同的語言。VBS 不使用 VB運(yùn)行庫運(yùn)行,而是由Windows腳本主機(jī)解釋執(zhí)行。這兩種語言之中的不同點(diǎn)影響ASP網(wǎng)站的表現(xiàn)。
vb.net
Visual Basic .NET(vb .net):當(dāng)微軟準(zhǔn)備開發(fā)一種新的編程工具的時候,第一決定就是利用 VB 6.0 來進(jìn)行舊改,或者就是重新組建工程開發(fā)新工具。微軟后來開發(fā)了 VB 的繼任者Visual Basic .NET,同時也是.NET平臺的一部分。vb .net編程語言是一種真正的面向?qū)ο缶幊陶Z言,和 VB 并不完全兼容。
Visual Basic .NET(vb .net) 是新一代的 VB 語言,并不只是 VB 6.0 的簡單升級,vb .net 與 VB (泛指 VB 6.0 之前的版本) 之間有非常大的區(qū)別。其新特性主要表現(xiàn)在以下幾方面:
1.vb .net 完全集成到 Visual Studio 集成開發(fā)環(huán)境中,在這種集成開發(fā)環(huán)境與 VB 在若干方面有差異。主要體現(xiàn)在窗體的布局以及菜單等方面都有所不同。
2.vb .net 項(xiàng)目與 VB 不同。它使用基于文件夾的模型,所有項(xiàng)目均放置在項(xiàng)目文件夾層次結(jié)構(gòu)中。
3.vb .net 中使用ado .net來訪問數(shù)據(jù)庫,ado .net是.NET Framework的一部分。在 vb .net 中實(shí)現(xiàn)數(shù)據(jù)訪問的方法主要有兩種:其一是在程序設(shè)計(jì)階段,通過創(chuàng)建、配置數(shù)據(jù)適配器 DataAdapter 和生成數(shù)據(jù)集 DataSet;其二是在運(yùn)行中,通過編程方式動態(tài)創(chuàng)建配置數(shù)據(jù)適配器和創(chuàng)建、生成數(shù)據(jù)集。
4.在 vb .net 中是使用asp .net技術(shù)來編寫 Web 頁面的。在asp .net中使用的也不是腳本語言,而是真正意義的編程語言。憑借asp .net的 Web 應(yīng)用程序、XML Web Services 等基于 Web 的功能,使得 vb .net 開發(fā) Web 頁面與開發(fā) Windows 應(yīng)用程序很相似,Web 頁面代碼也顯得有條有理了。
5.vb .net 已經(jīng)成為完全的面向?qū)ο蟮木幊陶Z言,并且新增更多語言特性。
參考資料:百度百科:VB
參考:
以下為十行的楊輝三角輸出,根據(jù)這個自己做相應(yīng)修改,都做好了,那你就是伸手黨了。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, j As Integer
Dim n As Integer
n = 10
Dim dete(n, n) As Integer
Dim sum As Integer
For i = 0 To n
For j = 0 To i
If i = 0 Then
dete(i, j) = 1
ElseIf j = 0 Then
dete(i, j) = 1
ElseIf i = j Then
dete(i, j) = 1
Else
dete(i, j) = dete(i - 1, j - 1) + dete(i - 1, j)
End If
Next
Next
For i = 0 To n
For j = 0 To i
Debug.Write(dete(i, j) " ")
sum += dete(i, j)
Next
Debug.WriteLine(" ")
Next
End Sub
End Class