zoukankan      html  css  js  c++  java
  • 打印杨辉三角--for循环

    要求打印7行直角杨辉三角

    杨辉三角特点:

    第1行和第2行数字都为1;
    从第三行开始,除去开头和结尾数字为1,中间数字为上一行斜对角两个数字的和。
    如下图:
    这里写图片描述

    打印结果:
    这里写图片描述

    代码如下:

    package 杨辉三角;
    
    public class Test2 {
        public static void main(String[] args){
            //建立以数组用于存储上一行的数据,因为是从第三行开始中间数是上一行斜对角的两数之和
            //所以开始先存第二行的数据,然后在每次用完数组后,改变数组的长度,存储当前行的数据,
            //用于下一行数据的计算
            int k=2;
            int[] temp=new int[k];
            temp[0]=temp[k-1]=1;
    
            for(int i=1;i<8;i++){
                //建立数组,存取当前行数据
                int[] arr=new int[i];
                //给当前行数组赋值
                for(int j=0;j<i;j++){
                    //先给第一个和最后一个数赋值
                    if(j==0||j==i-1){
                        arr[j]=1;
                    }else{
                        //中间数为上一行斜对角的两数之和
                        arr[j]=temp[j-1]+temp[j];
                    }
                }
                //给当前行赋值完毕后让k+1,增加数组长度,用于存取当前行的数据
                k++;
                temp=new int[k];
                //打印当前行数组,并给新temp赋值,便于下一行使用当前行数据
                for(int y=0;y<arr.length;y++){
                    temp[y]=arr[y];
                    System.out.print(arr[y]+" ");
                }
                System.out.println();
            }
        }
    }
    

    扩展延伸:
    通过后台控制打印几行,并要求打印出来的是等腰三角形

  • 相关阅读:
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    如何上传大文件到github上
    第07组 Alpha冲刺(3/4)
    第07组 Alpha冲刺(2/4)
    第07组 Alpha冲刺(2/4)
    第07组 Alpha冲刺(1/4)
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6797651.html
Copyright © 2011-2022 走看看