键盘录入数字在控制台打印输出n行n列的杨辉三角
来源:互联网 发布:打不开网络共享文件夹 编辑:程序博客网 时间:2024/05/18 06:23
package org.westos_02_二维数组;
import java.util.Scanner;
/*
* 需求:打印杨辉三角形(行数可以键盘录入)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
分析:
1)任何一行的第一列和最后一列都是1
2)从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
步骤:
1)定义一个二维数组,通过键盘录入输入行数n,那么列数也可以是n
2)遍历数组,给任何一行的第一列和任何一行的最后一列赋值为1
3)给其他元素进行赋值,规律:从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
4)遍历二维数组
* */
public class Array2Test3 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//录入数据
System.out.println("请输入一个行数(n):");
int n = sc.nextInt() ;
//定义二维数组
int[][] arr = new int[n][n] ;
//2)遍历数组,给任何一行的第一列和任何一行的最后一列赋值为1
for(int x = 0 ; x < arr.length ; x ++){
arr[x][0] = 1 ;//任何一行的第一列
arr[x][x] = 1 ;//任何一行的最后一列
}
//3)给其他元素进行赋值,规律:从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
for(int x = 2 ;x < arr.length ; x ++){
//y控制列数应该从1开始,和第一列已经被赋值了
//最后一列也赋值了:
for(int y = 1 ;y<=x-1; y++){
// 从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
arr[x][y] = arr[x-1][y-1] + arr[x-1][y] ;
}
}
//4)遍历二维数组
/*for(int x = 0 ; x < arr.length ; x ++){
for(int y = 0 ; y< arr[x].length ; y++){
System.out.print(arr[x][y] +"\t");
}
System.out.println();
}*/
//遍历二维数组:控制列数的条件判断语句:和99乘法的写法一致
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();
}
}
}
import java.util.Scanner;
/*
* 需求:打印杨辉三角形(行数可以键盘录入)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
分析:
1)任何一行的第一列和最后一列都是1
2)从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
步骤:
1)定义一个二维数组,通过键盘录入输入行数n,那么列数也可以是n
2)遍历数组,给任何一行的第一列和任何一行的最后一列赋值为1
3)给其他元素进行赋值,规律:从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
4)遍历二维数组
* */
public class Array2Test3 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//录入数据
System.out.println("请输入一个行数(n):");
int n = sc.nextInt() ;
//定义二维数组
int[][] arr = new int[n][n] ;
//2)遍历数组,给任何一行的第一列和任何一行的最后一列赋值为1
for(int x = 0 ; x < arr.length ; x ++){
arr[x][0] = 1 ;//任何一行的第一列
arr[x][x] = 1 ;//任何一行的最后一列
}
//3)给其他元素进行赋值,规律:从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
for(int x = 2 ;x < arr.length ; x ++){
//y控制列数应该从1开始,和第一列已经被赋值了
//最后一列也赋值了:
for(int y = 1 ;y<=x-1; y++){
// 从第三行开始,该数据等于上一行的前一列和上一行的本列之后!
arr[x][y] = arr[x-1][y-1] + arr[x-1][y] ;
}
}
//4)遍历二维数组
/*for(int x = 0 ; x < arr.length ; x ++){
for(int y = 0 ; y< arr[x].length ; y++){
System.out.print(arr[x][y] +"\t");
}
System.out.println();
}*/
//遍历二维数组:控制列数的条件判断语句:和99乘法的写法一致
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();
}
}
}
阅读全文
0 0
- 键盘录入数字在控制台打印输出n行n列的杨辉三角
- c++ <输入数字n打印n行n列的矩形>
- 杨辉三角的金字塔数字打印输出
- 打印输出1-n的所有全排序列
- 输出N行的杨辉三角,用一维数组存储实现(java)
- C语言——输出杨辉三角的前n行
- Description 输出杨辉三角的前N行(N<10)。 Input 输入只有一行,包括1个整数N。(N<10) Output 输出只有N行. Sample Input
- 控制台打印杨辉三角
- 在屏幕上打印N*N方阵的副上三角阵
- 算法: 函数返回第n行的杨辉三角
- 键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值
- 集合框架_键盘录入多个数据在控制台输出最大值案例
- 集合框架_键盘录入学生信息按照总分排序后输出在控制台案例)
- 集合框架-键盘录入多个数据,以0结束,并在控制台输出最大值
- 方法(打印m行n列)
- 14. 编写递归函数,在第一行打印输出1个1,在第二行输出2个2,。。。,在第n行输出n个n。
- java控制台程序输出杨辉三角前10行
- 打印2的n次方数字三角形
- 传滴滴新一轮融资超50亿美元,估值破500亿美元
- 谷歌登陆古巴,成当地第一家互联网外企
- 2021年Window Phone就没了?微软花了152亿美元换来了什么
- 为什么说亚马逊的第四大支柱,会是AI与物流
- NASA发布新的超高清全球夜景图,用以研究人类经济活动
- 键盘录入数字在控制台打印输出n行n列的杨辉三角
- linux下qt+opencv、arm端移植opencv
- 找不到计算器?那就自己用javascript写一个吧
- 广义特征系统的导数与应用
- 谷歌、Facebook承认受骗:两年被骗1亿美元
- 易到辟谣称融资顺利,不会把用户资金转为乐视会员
- 百度前“太子”李明远离职后首谈李彦宏:亦师亦父
- 微软:用户手动安装Windows 10创作者更新有风险!
- 海信家用中央空调 聚惠五一“嗨享日”