求二维数组每一列(行)上的最大值(Java)
求二维数组每一列(行)上的最大值含有以下两个部分:求二维数组每一列上的最大值求二维数组每一行上的最大值行最大值问题描述输入二维数组的行数n、列数m,并输入二维数组,用数组输出每行的最大值输入该数组共有几行几列:3 33 2 15 4 67 8 9输出第1行最大值:3第2行最大值:6第3行最大值:9简单思路要输入的寻找最大值的两个数组比较大小问题二维数组一维数组双层for循环if循环代码import
·
求二维数组每一列(行)上的最大值
求二维数组每一列上的最大值
- 问题描述
输入二维数组的行数n、列数m,并输入二维数组,用数组输出每行的最大值
-
输入
该数组共有几行几列:3 3 3 2 1 5 4 6 7 8 9 -
输出
第1行最大值:3 第2行最大值:6 第3行最大值:9 -
简单思路
-
代码
import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.print("该数组共有几行几列:"); int n=sc.nextInt(); //行 int m=sc.nextInt(); //列 int [][]a=new int[n][m]; //二维数组定义 int b[]=new int[n]; //存储每行最大值 注意:b[]的范围应该是行数 for (int i = 0; i < n; i++) { b[i]=0; //初始化一个最小值,与a[i][j]进行比较,取得最大值 for (int j = 0; j < m; j++) { a[i][j]=sc.nextInt(); if(b[i]<a[i][j]) { //利用if循环,求最大值 b[i]=a[i][j]; } } } for (int i = 0; i < n; i++) { System.out.println("第"+(i+1)+"行最大值:"+b[i]); } } } -
运行结果

求二维数组每一行上的最大值
- 问题描述
输入二维数组的行数n、列数m,并输入二维数组,用数组输出每列的最大值
-
输入
该数组共有几行几列:3 3 1 2 3 4 5 6 7 8 9 -
输出
第1列最大值:7 第2列最大值:8 第3列最大值:9 -
简单思路
与行相比来说,列需要进行矩阵转置
-
代码
import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("该数组共有几行"); int n=sc.nextInt(); //行 int m=sc.nextInt(); //列 int [][]a=new int[n][m]; //输入二维数组 int [][]c=new int[m][n]; //转置二维数组 int b[]=new int[m]; //求最大值 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { a[i][j]=sc.nextInt(); c[j][i]=a[i][j]; //行列转置 } } for (int i = 0; i < m; i++) { //与求行最大值相同 b[i]=0; for (int j = 0; j < n; j++) { if(b[i]<c[i][j]) { b[i]=c[i][j]; } } } for (int i = 0; i < m; i++) { System.out.println("第"+(i+1)+"列最大值:"+b[i]); } } } -
运行结果

更多推荐

所有评论(0)