第三题作业

第一题:
import java.lang.Integer;
import java.util.Arrays;
class ArrDemo{

    public static void main(String[] args){
        int[] arr = new int[]{1,20,60,90,4};
        //int[] arr = new int[5];//问题2、这个值并没有在错误判断里面,怎么判断?
        System.out.println(Arrays.toString(arr));
        int maxv = getMax(arr);
        System.out.println(maxv);
    }

    public static int getMax(int[] arr){
        int length = arr.length;
        if(arr == null){//问题1、数组要怎么定义arr才等于null?
            System.out.println("数组定义错误!null值!");
            System.exit(0);
        }else if(length == 0){
            System.out.println("数组定义错误!长度等于0!");
            System.exit(0);
        }
        int minv = Integer.MIN_VALUE;        
        for(int i=0;i<length;i++){
            if(arr[i] > minv){
                minv = arr[i];
            }
        }
        return minv;
    }
}

第二题:
    public static void main(String[] args){
        int[] arr = new int[]{1,20,60,90,4,10,20};
        System.out.println(Arrays.toString(arr));
        int position = getPos(arr,4);
        System.out.println(position);
    }
    public static int getPos(int[] arr,int v){
        int num = 0;
        int position = 0;
        int length = arr.length;
        if(arr == null){
            System.out.println("数组定义错误!null值!");
            System.exit(0);
        }else if(length == 0){
            System.out.println("数组定义错误!长度等于0!");
            System.exit(0);
        }        
        for(int i=0;i<length;i++){
            if(v == arr[i]){
                num ++;
                position = i;
                break;
            }
        }
        return position;
    }
第三题:
    public static void main(String[] args){
        int[] arr = new int[]{10,20,60,90,4,11,20,2};
        int[] bulle_arr = bulleSort(arr);
        System.out.println(Arrays.toString(bulle_arr));
    }
    //冒泡排序,升序
    public static int[] bulleSort(int[] arr){
        int length = arr.length;
        int tmp = 0;
        for(int i=0;i<length-1;i++){
            for(int j=0;j<length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    tmp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
        return arr;
    }
第四题:
public static void main(String[] args){
        int[] arr = new int[]{1,2,3,.....,1021,1022,1023};  //log2^1024 = 10;
        int binv = binSearch(arr,1023);
        System.out.println(binv);
}
public static int binSearch(int[] arr,int v){
        int length = arr.length;
        int left = 0;
        int right = length - 1;
        int i = 0;
        int r = 0;
        int num = 0;
        while(left <= right){
            num ++;
            i = (left + right)/2;
            if(arr[i] == v){
                r = i;
                break;
            }else if(arr[i] > v){
                right = i - 1;
            }else{//arr[i]<v
                left = i + 1;
            }
            if(num >= 1000){
                break;
            }
        }
        System.out.println(num);
        return r;
}
第五题:首先是有序,一分为二的去查找,一次去掉一半数据,匹配次数成对数增长。
第六题:
public static void main(String[] args){
        int[][] arr = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
        for(int i=0;i<arr.length;i++){
            System.out.println(Arrays.toString(arr[i]));
        }
        int[][] rows_arr = changeArr(arr);
        for(int i=0;i<rows_arr.length;i++){
            System.out.println(Arrays.toString(rows_arr[i]));
        }
}
    public static int[][] changeArr(int[][] arr){
        int tmp = 0;
        int num = 0;
        for(int i=0;i<arr.length;i++){
            for(int j=i+1;j<arr[i].length;j++){
                tmp = arr[i][j];
                arr[i][j] = arr[j][i];
                arr[j][i] = tmp;
                num ++;
            }
        }
        System.out.println(num);
        return arr;
    }
时间: 2024-08-08 09:38:18

第三题作业的相关文章

第三次作业第一题

问卷调查 看到一个问卷不错,拟作为第三次作业的部分内容. 1.   你对自己的未来有什么规划?做了哪些准备 答: 我对未来的规划是想做网页设计类的  目前的准备是多看相关知识的书,熟悉网页设计的软件认真学习,将自己所学运用到实际工作中. 2.   你认为什么是学习?学习有什么用?现在学习动力如何?为什么? 答:学习就是把不会的知识变成会的.学习的作用是学会了就能运用到实践中.现在的学习动力还没有那么努力因为可能是还是找不到自己的目标比较迷茫 3.   你感觉自己什么事情做的比较成功?有什么经验?

C高级第一次作业 函数题第三题

函数题第三题 void sum_diff( float op1, float op2, float *psum, float *pdiff ) { *psum=op1+op2; pdiff=op1-op2; } psum,pdiff是地址psum,pdiff是值,所以对op1,op2做和差分别交给psum,*pdiff.*psum,*pdiff分别指向op1,op2的和差. 原文地址:https://www.cnblogs.com/guoqiang666/p/8665670.html

2014马哥Linux0217中对0214三题的解答

前几天在做2014马哥Linux0214的作业的时候,发现其实这三题在0217中有解答,当然觉得马哥比自己写得好太多,所以忍不住要把马哥的答案贴出来,以供自己学习. 第一题:写一个脚本,用for循环实现显示/etc/init.d/functions./etc/rc.d/rc.sysinit./etc/fstab有多少行 #!/bin/bash for fileName in /etc/init.d/functions /etc/rc.d/rc.sysinit /etc/fstab;do line

软件工程第三次作业

本周的作业请参照此文:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html 制定本组项目的GitHub版本更新流程. 制定本组的代码规范.GitHub提交源码的标准. 组长组织每周例会(可以使用群微信群试验一下每天沟通项目开发进度的方法)需要有证据能够在博客上公布 根据邹欣老师的教材相关内容,确定小组成员的角色,细化项目需求.时间计划.列出产品积压工作项和预计开发时间 第一题:制定本组项目的GitHub版本更新流程 通过学习链接中的内容

8-31号19题作业

第一题 本作业以VIM编写 第三题 echo $PATH 此变量可输出命令调用的路径!环境变量! env 输出更详细的环境变量 1.改变全局变量: /etc/profile 此文件夹下的sh在启动时会被自动加载 /etc/profile.d/*.sh 2.改变目标用户环境变量 ~/.bash_profile 3.我们每次定义的自定命令名都无法保存,咱办?好来了...嘿嘿! /etc/bashrc以后所有用户都会被加载! 4.假如我们只希望某个用户保存它的变量呢? ~/.bashrc它就是你的救星

解题报告——-2018级2016第二学期第三周作业

解题报告——2018级2016第二学期第三周作业 A:[NOIP2002P]过河卒 题目: 描述 如图,A 点有一个过河卒,需要走到目标 B   点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点.例 如上图 C  点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C).卒不能通过对方马的控制点. 棋盘用坐标表示,A 点(0,0).B 点(n,m)(n,m 为不超过 20  的整数,并由键盘输入)

职业规划第三次作业

看到一个问卷不错,拟作为第三次作业的部分内容. 你对自己的未来有什么规划?做了哪些准备? 答: 学好大学四年的课程,并积极参加各种活动来锻炼自己的能力.在实习期间认真学习工作经验,学习经验然后争取能自己创业 好好交友,多读书, 你认为什么是学习?学习有什么用?现在学习动力如何?为什么? 答:学习是通过他人的言传身教了解知识,将他人的认识转化为自己的知识.学习能够取他人之长补己之短,丰富自己的认知,还避免了闭门造车和坐井观天的错误.现在的学习动力一般,因为新学知识对我来说比较陌生. 你感觉自己什么

o(︶︿︶)o 唉,第三次作业

                                                                             第三次作业 1.需求分析 (1)从combox控件中,获取各种运算(+.=.*./),用户可以输入运算范围,比如想算0-10以内的,那么就在textbox5和6中输入0和10就行,当然,如果5中的数字比6中的数字小的话,会有消息提示框,并清空他们.用户可以选择算法,设置范围后,点击计算,输入结果,回车就可以. 2.设计思路 (1)思考应该怎么做

第三次作业(毛涛和徐明艳)

第三次作业 题目: 请编写一个能自动生成小学四则运算题目的“软件”.让程序能接受用户输入答案,并判定对错.最后给出总共对/错的数量. 需求分析:      1. 该软件是针对学生有限的计算能力,计算效率,计算精确度而制作的软件: 2. 该软件可以进行简单的四则运算并进行判断: 扩展功能: 1. 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数. 2. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号. 设计:  根据四则运算法则本