采用两个一维数组输出等腰三角形的杨辉三角

Posted fjcy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了采用两个一维数组输出等腰三角形的杨辉三角相关的知识,希望对你有一定的参考价值。

技术图片

代码如下:

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循环一个一个元素的赋值

以上是关于采用两个一维数组输出等腰三角形的杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章

实验四:采用一维数组输出等腰三角形的杨辉三角

java怎么用一个一维数组输出杨辉三角(补充完整下列代码)

用一维数组输出杨辉三角

leetcode 120. 三角形最小路径和

为啥保守光栅化无法为某些三角形调用片段着色器?

为啥这个 CSS 片段可以画一个三角形? [复制]