• 每日练习------定义一个N*N二维数组,从键盘上输入值,找出每行中最大值组成一个一维数组并输出;


    题目: 定义一个N*N二维数组,从键盘上输入值,找出每行中最大值组成一个一维数组并输出

    解题关键:二维数组中每一行的最大值怎么找寻

    思路:1.定义数组

            2.输入数据

            3.新建一个长度为N的一维数组

            4.找出每行中最大值组成一个一维数组并输出;    

            5.遍历新数组

    过程: 接下来我们根据我们的解题思路来一步步写代码

            1.定义数组
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入二维数组的数组长度");
            int N = sc.nextInt();
            int[][] nums = new int[N][N];
            
            2.输入数据
            for (int i = 0; i < nums.length; i++) {
                for (int j = 0; j < nums[i].length; j++) {
                    System.out.print("第"+(i+1)+"行.第"+(j+1)+"列的数字:");
                    int num = sc.nextInt();
                    nums[i][j] = num;            
                }
            }
            
            sc.close();        
         3.新建一个长度为N的一维数组
            int[] maxNums = new int[N];
            
            4.找出每行中最大值组成一个一维数组并输出;        
                for (int j = 0; j < nums.length; j++) {
                    int max = nums[j][0];
                    for (int j2 = 0; j2 < nums[j].length; j2++) {
                        if(max < nums[j][j2]){
                            max = nums[j][j2];                        
                        }
                    }
                    maxNums[j] = max;
                }        
            
            5.遍历新数组
            System.out.print("每一行的最大值组成的数组为:");
            for (int i = 0; i < maxNums.length; i++) {
                System.out.print(maxNums[i] + " ");
            }

    完整结果如下:

        为了方便大家使用,下面附上源码:

    1. //1.定义数组
    2. Scanner sc = new Scanner(System.in);
    3. System.out.println("请输入二维数组的数组长度");
    4. int N = sc.nextInt();
    5. int[][] nums = new int[N][N];
    6. //2.输入数据
    7. for (int i = 0; i < nums.length; i++) {
    8. for (int j = 0; j < nums[i].length; j++) {
    9. System.out.print("第"+(i+1)+"行.第"+(j+1)+"列的数字:");
    10. int num = sc.nextInt();
    11. nums[i][j] = num;
    12. }
    13. }
    14. sc.close();
    15. //3.新建一个长度为N的一维数组
    16. int[] maxNums = new int[N];
    17. //4.找出每行中最大值组成一个一维数组并输出;
    18. for (int j = 0; j < nums.length; j++) {
    19. int max = nums[j][0];
    20. for (int j2 = 0; j2 < nums[j].length; j2++) {
    21. if(max < nums[j][j2]){
    22. max = nums[j][j2];
    23. }
    24. }
    25. maxNums[j] = max;
    26. }
    27. //5.遍历新数组
    28. System.out.print("每一行的最大值组成的数组为:");
    29. for (int i = 0; i < maxNums.length; i++) {
    30. System.out.print(maxNums[i] + " ");
    31. }
    32. }

    总结:理解找出每一行的最大值的代码,这样可以帮助我们之后的学习

    明日练习:有10个数字要求分别用选择法从大到小输出

    大家可以自己写写,明天中午12点我准时发出我的写法哦,明天12点不见不散

      一生朋友一生情,一生有你才会赢;千山万水总是情,点个关注行不行!

  • 相关阅读:
    中国首个基于区块链的分布式算力网络上线
    关闭vscode检查更新
    高并发编程:并发容器
    机器学习笔记之变分推断(一)基本介绍
    猿创征文 |【SpringBoot2】基础配置详解
    解决mysql去掉字段空格:中间空格,左侧空格,右侧空格,两端空格,水平制表符(tab键或者\t)空格,换行键(\n)空格,回车键(Enter键)空格
    Linux进程控制(含进程程序替换)
    06 Feign远程调用
    STL常用容器——stack容器的使用
    uvm_declare_p_sequencer获取sequencer原理
  • 原文地址:https://blog.csdn.net/SSSS__AS/article/details/126022721