码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-03-26 19:51:30      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:scanner   开头   info   int   can   port   注意   nbsp   span   

技术图片

代码如下:

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

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

标签:scanner   开头   info   int   can   port   注意   nbsp   span   

原文地址:https://www.cnblogs.com/fjcy/p/10602693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!