Public Class Form1

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括岳陽(yáng)縣網(wǎng)站建設(shè)、岳陽(yáng)縣網(wǎng)站制作、岳陽(yáng)縣網(wǎng)頁(yè)制作以及岳陽(yáng)縣網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,岳陽(yáng)縣網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到岳陽(yáng)縣省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
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
要求在窗體上打印出楊輝三角形,其打印行數(shù)由鍵盤輸入。
【設(shè)計(jì)思路】?1.定義一個(gè)整型二維動(dòng)態(tài)數(shù)組,其實(shí)際元素個(gè)數(shù)由鍵盤輸入。?
2. 對(duì)輸入數(shù)據(jù)進(jìn)行檢查,確保輸入數(shù)據(jù)在1至16之間,以免溢出。?
3. 編寫程序代碼,當(dāng)確認(rèn)輸入數(shù)據(jù)后,在窗體上打印楊輝三角形。
【操作步驟】
?1. 建立新項(xiàng)目,并設(shè)計(jì)窗體。
文本框用來(lái)輸入要打印楊輝三角形的行數(shù);“確定”按鈕執(zhí)行具體打印操作;窗體左 側(cè)的數(shù)字為打印的楊輝三角形實(shí)例。
?2. 為“確定”按鈕編寫如下代碼:
Private Sub Command1Click()
?Dim RowNum() As Integer ′定義整型動(dòng)態(tài)數(shù)組
?Dim i As Integer, j As Integer ′定義循環(huán)變量
?Dim Num As Integer
?Cls ′清空窗體內(nèi)容
?Num=Val(Text1.Text) + 1
?If Num =18 Then ′對(duì)輸入數(shù)據(jù)進(jìn)行檢查(小于17)
? Text1.Text= 〃〃
? Exit Sub?
End If
ReDim RowNum(1 To Num, 1 To Num) ′根據(jù)輸入值重新確定數(shù)組
’維數(shù)及大小?下面是具體打印楊輝三角形的代碼:
For i = 1 To Num-1′將第一列及對(duì)角元素置1
? RowNum(i, i)=1
? RowNum(i, 1)=1
?Next
?For i = 3 To Num-1 ′計(jì)算其它元素值
? For j = 2 To i-1
? RowNum(i, j)=RowNum(i-1, j-1)+Row Num(i-1,j)
? Next
?Next
?For i = 1 To Num-1 ′打印楊輝三角形
? For j = 1 To i
? Print RowNum(i, j);
? Next
?Next
?End Sub
?3. 調(diào)試并運(yùn)行程序,觀察輸出結(jié)果。
參考:
以下為十行的楊輝三角輸出,根據(jù)這個(gè)自己做相應(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
Option Explicit
Function Fc(n As Long)
Dim arr() As Long, i As Integer, j As Integer, s As String
Cls
ReDim arr(1 To n, 1 To n) '重定義數(shù)組
For i = 1 To n
For j = 1 To i
If j = 1 Then
arr(i, j) = 1
Else
arr(i, j) = arr(i - 1, j - 1) + arr(i - 1, j)
End If
Next
Next For i = 1 To Val(Text1)
For j = 1 To i
s = s arr(i, j) Space(6 - Len(CStr(arr(i, j))))
Next
s = IIf(i Mod 2 = 1, Space(6 * Int((Val(Text1) - i + 1) / 2)) s, Space(6 * Int((Val(Text1) - i) / 2) + 3) s)
Print s
s = ""
Next
End FunctionPrivate Sub Form_Activate()
Text1 = 20
End SubPrivate Sub Text1_Change()
Cls
If IsNumeric(Text1) And Val(Text1) 0 And Val(Text1) = 20 Then '最大20
Fc Val(Text1)
Else
Text1 = ""
End If
End Sub
VB代碼:
Option Base 1
Private Sub form_click()
Const n=10
Dim arr(n,n)As Integer
For i=1 To n
arr(i,i)=1
arr(i,1)=1
Next i
For i=3 To n
For j=2 To i-1
arr(i,j)=arr(i-1,j-1)+arr(i-1,j)
Next j
Next i
For i=1 To n
For j=1 To i
Print arr(i,j);
Next j
Next i
End Sub
輸出結(jié)果:
擴(kuò)展資料:
printf的格式
printf函數(shù)的原型為:
#includelt;stdio.hgt;
int printf(const char*format,...);
在講每一個(gè)函數(shù)的時(shí)候都會(huì)先把它的函數(shù)原型寫出來(lái),這個(gè)原型你們現(xiàn)在看不懂不要緊,等到學(xué)完C語(yǔ)言之后再來(lái)看這個(gè)原型就會(huì)發(fā)現(xiàn)它是很有參考意義的!它對(duì)深刻理解函數(shù)有著很大的價(jià)值。
printf的格式有四種:
1)printf("字符串\n");
#includelt;stdio.hgt;
int main(void)
{
printf("Hello World!\n");//\n表示換行
return 0;
}
其中\(zhòng)n表示換行的意思。它是一個(gè)轉(zhuǎn)義字符,前面在講字符常量的時(shí)候見(jiàn)過(guò)。其中n是“new line”的縮寫,即“新的一行”。
此外需要注意的是,printf中的雙引號(hào)和后面的分號(hào)必須是在英文輸入法下。雙引號(hào)內(nèi)的字符串可以是英文,也可以是中文。
2)printf("輸出控制符",輸出參數(shù));
#includelt;stdio.hgt;
int main(void)
{
int i=10;
printf("%d\n",i);/*%d是輸出控制符,d表示十進(jìn)制,后面的i是輸出參數(shù)*/
return 0;
}
這句話的意思是將變量i以十進(jìn)制輸出。
i本身就是十進(jìn)制,程序中雖然寫的是i=10,但是在內(nèi)存中并不是將10這個(gè)十進(jìn)制數(shù)存放進(jìn)去,而是將10的二進(jìn)制代碼存放進(jìn)去了。計(jì)算機(jī)只能執(zhí)行二進(jìn)制0、1代碼,而0、1代碼本身并沒(méi)有什么實(shí)際的含義,它可以表示任何類型的數(shù)據(jù)。
所以輸出的時(shí)候要強(qiáng)調(diào)是以哪種進(jìn)制形式輸出。所以就必須要有“輸出控制符”,以告訴操作系統(tǒng)應(yīng)該怎樣解讀二進(jìn)制數(shù)據(jù)。
如果是%x就是以十六進(jìn)制的形式輸出,要是%o就是以八進(jìn)制的形式輸出。
3)printf("輸出控制符1輸出控制符2…",輸出參數(shù)1,輸出參數(shù)2,…);
#includelt;stdio.hgt;
int main(void)
{
int i=10;
int j=3;
printf("%d%d\n",i,j);
return 0;
}
輸出控制符1對(duì)應(yīng)的是輸出參數(shù)1,輸出控制符2對(duì)應(yīng)的是輸出參數(shù)2……編譯、鏈接、執(zhí)行后看一下輸出結(jié)果:
10 3
注意:10和3之間有一個(gè)空格;因?yàn)樯厦?d和%d之間有空格,printf中雙引號(hào)內(nèi)除了輸出控制符和轉(zhuǎn)義字符\n外,所有其余的普通字符全部都原樣輸出。比如:
#includelt;stdio.hgt;
int main(void)
{
int i=10;
int j=3;
printf("i=%d,j=%d\n",i,j);
return 0;
}
再編譯、鏈接、執(zhí)行一下:
i=10,j=3
i=、,、空格和j=全都原樣輸出了。此外需要注意的是:“輸出控制符”和“輸出參數(shù)”無(wú)論在“順序上”還是在“個(gè)數(shù)上”一定要一一對(duì)應(yīng)。
4)printf("輸出控制符非輸出控制符",輸出參數(shù));
源代碼如下:
Private?Sub?Form_Click()????N?=?InputBox("",?"",?5)????ReDim?a(N?+?1,?N?+?1),?b(N?+?1,?N?+?1)????Cls????k?=?8????For?I?=?1?To?N????Print?String((N?-?I)?*?k?/?2?+?1,?"?");????For?J?=?1?To?I????a(I,?1)?=?1????a(I,?I)?=?1????a(I?+?1,?J?+?1)?=?a(I,?J)?+?a(I,?J?+?1)????b(I,?J)?=?Trim(Str(a(I,?J)))????Print?b(I,?J);?String(k?-?Len(b(I,?J)),?"?");????Next?J????Print????Next?IEnd?Sub
運(yùn)行程序,在文本框輸入8,再點(diǎn)窗體,效果圖如下:
擴(kuò)展資料:
楊輝三角在Java中的代碼如下:
public?class?TriangleArray{???public?static?void?main(String[]?args)???{??????final?int?NMAX?=?10;????????//?allocate?triangular?array??????int[][]?odds?=?new?int[NMAX?+?1][];??????for?(int?n?=?0;?n?=?NMAX;?n++)?????????odds[n]?=?new?int[n?+?1];?????????//?fill?triangular?array??????for?(int?n?=?0;?n??odds.length;?n++)?????????for?(int?k?=?0;?k??odds[n].length;?k++)?????????{????????????/*?????????????*?compute?binomial?coefficient?n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)?????????????*/????????????int?lotteryOdds?=?1;????????????for?(int?i?=?1;?i?=?k;?i++)???????????????lotteryOdds?=?lotteryOdds?*?(n?-?i?+?1)?/?i;?????????????odds[n][k]?=?lotteryOdds;?????????}???????//?print?triangular?array??????for?(int[]?row?:?odds)??????{?????????for?(int?odd?:?row)????????????System.out.printf("%4d",?odd);?????????System.out.println();??????}???}}
分享題目:vb.net楊輝三角,楊輝三角c#語(yǔ)言
轉(zhuǎn)載注明:http://chinadenli.net/article42/hsgoec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站建設(shè)、、商城網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)