1. 程式人生 > >采用兩個一維數組輸出等腰三角形的楊輝三角

采用兩個一維數組輸出等腰三角形的楊輝三角

clas 三角形 一行 out () span 進入 port pack

技術分享圖片

代碼如下:

package 楊輝三角;
import java.util.Scanner;
public class 楊輝三角0 {
    public static void main(String[] args)
    {
    Scanner a = new Scanner(System.in);     
    System.out.print("輸入楊輝三角的行數n:");
    int n=a.nextInt();
    int[] b=new int[100];       //創建整形數組,最大可存放100個整形
    int[] c=new int
[100]; //創將兩個數組,一個用來存放上一層的數據,另一個用來計算並保存本層數據 int i,x,y; for(i=0;i<100;i++) //將兩個數組全部初始化,數據全為1 b[i]=c[i]=1; for(i=0;i<n;i++) { for(x=1;x<i-1;x++) { c[x]=b[x-1]+b[x]; //計算楊輝三角的過程 } for
(y=0;y<=n-i;y++) //每行開頭輸出空格規範格式 System.out.print(" "); for(x=0;x<=i-1;x++) {b[x]=c[x]; //進入下一層之前把本層數據轉為上一層數據,給接下來的計算使用 System.out.print(c[x]+" ");} System.out.print("\n"); //每輸出一行自動換行 } } }

總結心得:

(1)創建靜態數組時,一定要定義數組的大小,我這裏定義的大小為100

(2)計算楊輝三角時,要註意兩個數組之間的關系,即c[x]=b[x-1]+b[x]

(3)嵌套的for循環作用:外層for循環是控制楊輝三角層數,內層for循環是具體的計算每個元素的數值

(4)輸出格式,即開頭的空格數,層數越多,開頭的空格越少,用y<=n-i來控制次數

(5)這一步是最容易出錯的,就是把計算完成的一行轉成上一層並進行下一層的計算,一定不能直接用b=c來賦值,要用for循環一個一個元素的賦值

采用兩個一維數組輸出等腰三角形的楊輝三角