本帖最后由 Aaron_wang 于 2015-11-20 23:49 编辑
分别用一维数组和二维数组的方法打印出杨辉三角。
使用二维数组的方法比较简单。如果使用一维数组的话,需要反复对一维数组重写并打印,重写数组时注意要反向遍历重写数组,否则会出错哦~
- class YangHui
- {
- public static void main(String[] args)
- {
- yangHui_1(6);
- yangHui_2(6);
- }
- //使用二维数组
- public static void yangHui_1(int num)
- {
- //第一列为1
- int[][] arr = new int[num][num];
- //System.out.println(arr.length);
- for (int i=0; i
- {
- arr[i][0]=1;
- }
- //其余部分
- for (int i=1; i
- {
- for (int j=1; j<=i; j++)
- {
- arr[i][j] = arr[i-1][j-1]+arr[i-1][j];//规律体现
- }
- }
- //打印输出
- for (int i=0; i
- {
- for (int j=0; j<=i; j++)
- {
- System.out.print(arr[i][j]+"\t");
- }
- System.out.println();
- }
- }
- //使用一维数组
- public static void yangHui_2(int num)
- {
- int[] arr = new int[num];
- arr[0] = 1;
- for (int i=1; i<=num; i++)//控制打印次数,num次.i表示打印的第i行
- {
- sop(i,arr);//输出当前数组
- System.out.println();
- if(i==num) break;//i==num说明打印完成,跳出循环
- for (int j=i; j>0; j--)//改造数组
- {
- arr[j] = arr[j]+arr[j-1];
- }
- }
- }
- //打印方法
- public static void sop(int num,int[] arr)
- {
- for (int i=0; i
- {
- System.out.print(arr[i]+"\t");
- }
- }
-
- }
复制代码
|
|