输入一个四行五列的矩阵,找出每列最大的两个数
输入一个四行五列的矩阵,找出每列最大的两个数
随风1993 发表于7个月前
输入一个四行五列的矩阵,找出每列最大的两个数
  • 发表于 7个月前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 输入一个四行五列的矩阵,找出每列最大的两个数

import java.util.Scanner;

/**
 * @author tj
 * 
题目描述:
        输入一个四行五列的矩阵,找出每列最大的两个数。
输入:
        输入第一行包括一个整数n(1<=n<=1000),接下来的四行每行包括五个整数。代表一个四行五列的矩阵,矩阵元素全部是整数。
输出:
        可能有多组测试数据,对于每组数据,按照样例输出的格式将每列最大的两个数输出,如果最大的两个数中的一个数在这一列中有多个相同的值,则行值取行值小的那一个。
        输出时要保留原矩阵的行列顺序,即在原矩阵中行值小的,在输出矩阵中的行值依然小。
样例输入:
    1
    1  2   4  9  8
    -1  4  9  8  8
    12  9  8  7  0
    7   8  9  7  0
样例输出:
    12 9 9 9 8 
    7 8 9 8 8 


 */
public class FindMax {
    
    public static void main(String[] args){
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext()){
            int n = cin.nextInt();
            
            for(int i=0;i<n;i++){
                int[][] mar = new int[4][5];
                for(int j=0;j<4;j++){
                    for(int k=0;k<5;k++){
                        mar[j][k] = cin.nextInt();
                    }
                }
                
                int[] maxs = new int[5];
                for(int j=0;j<5;j++){
                    int max = mar[0][j];
                    for(int k=0;k<4;k++){
                        if(mar[k][j]>max){
                            max = mar[k][j];
                        }
                    }
                    maxs[j] = max;
                }
                
                int[] maxs2 = new int[5];
                for(int j=0;j<5;j++){
                    int max = mar[0][j];
                    for(int k=0;k<4;k++){
                        if(mar[k][j]>max&&mar[k][j]!=maxs[j]){
                            max = mar[k][j];
                        }
                    }
                    maxs2[j] = max;
                }
                
                for(int j=0;j<5;j++){
                    System.out.print(maxs[j]+" ");
                    System.out.print(maxs2[j]+" ");
                }
            }
        }
    }

}
 

共有 人打赏支持
粉丝 0
博文 9
码字总数 2110
×
随风1993
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: