数组的练习

杨辉直角三角的打印

## 杨辉直角三角的打印

键盘录入行数,输出打印杨辉三角形

两种格式杨辉三角

*  1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

规律:1 n行有n列  类似于99乘法表

  2每一行的第一列与最后一列的赋值都为1

  3从第三行开始,出来第一列与最后一列 ,每个元素的值等于上一行的前一列于上一行的本列的值之和



  分析:1创建二维数组

  2给二维数组的元素赋值

    a为每一行的第一列和最后一列赋值为1

    b从第三行开始,出来第一列与最后一列 ,每个元素的值等于上一行的前一列于上一行的本列的值之和

  3使用99乘法表的格式打印这个二维数组

ublic class arraydemo02 {

public static void main(String[] args) {

  Scanner sc = new Scanner(System.in);

  System.out.println("请输入行数:");

int n = sc.nextInt();

//创建二维数组

int [][]arr= new int [n][n];

//给二维数组的元素赋值

//a为每一行的第一列和最后一列赋值为1

for (int x = 0; x < arr.length; x++) {

  arr[x][0]=1;

  arr[x][x]=1;


}

//b从第三行开始,出来第一列与最后一列 ,每个元素的值等于上一行的前一列于上一行的本列的值之和

for (int x = 2; x < arr.length; x++) {

  for (int y = 1; y <arr.length -1; y++) {

  arr[x][y]=arr[x-1][y-1]+arr[x-1][y];

  }

  }

  // 3使用99乘法表的格式打印这个二维数组

  printArr(arr);

}

public static void printArr(int[][] arr) {

  for (int x = 0;x < arr.length; x++) {

  for (int y = 0; y <=x; y++)

    System.out.print(arr[x][y]+"\t");

  }

  System.out.println();

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,755评论 0 2
  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 5,510评论 0 9
  • 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...
    fredal阅读 14,679评论 0 89
  • 1)程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上...
    杵臼凉薄yo阅读 6,430评论 0 7
  • 想了很久,迟迟不敢下笔,但最终还是抵挡不了内心的声音,要写点什么来纪念一下现在的生活。 对于彷徨,是我现在内心的一...
    夏溟檬阅读 2,990评论 1 0