//需求:打印杨辉三角(行数键盘录入)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
/*
分析:
A:任何一行的第一列和最后一列都是1
B:从第三行开始,每一个数据它上一行的前一列和它本列之和
步骤:
A:首先定义一个二维数组,行数为n 列数也为n
这个n来自键盘录入
B: 给这个二维数组任何一行的第一列和最后一列都赋值为1
C:按照规律给其它元素赋值
从第三行开始,每一个数据它上一行的前一列和它本列之和
D: 遍历这个二维数组
*/
import java.util.Scanner;
class Li{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//这个n的数据来自于键盘录入
System.out.println("请输入行数");
int n = sc.nextInt();
//定义一个二维数组
int[][] arr= new int[n][n];
//给这个二维数组任何一行的第一列和最后一列都赋值为1
for(int x=0;x<arr.length;x ){
arr[x][0]=1;//任何第一行为1
arr[x][x]=1;//任何最后一行为1
}
//按照规律给其它元素赋值
//从第三行开始,每一个数据它上一行的前一列和它本列之和
for(int x=2;x<arr.length;x ){
//这里如果y<=x是有一个小问题,就是最后一列
//所以这里要减去1
//并且y也应该从1开始,因为第一列也有值了
for(int y=1;y<=x-1;y ){
//每一个数据它上一行的前一列和它本列之和
arr[x][y]=arr[x-1][y-1] arr[x-1][y];
}
}
//遍历二维数组
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();
}
}
}
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved