Advertisement

蓝桥杯-算法训练:ALGO-49 JAVA

阅读量:

问题描述:

复制代码
    	  对于给定整数数组a[],寻找其中最大值,并返回下标。
    	输入格式
    	  整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。
    	输出格式
    	  输出最大值,及其下标
    	样例输入
    			3
    			3 2 1
    	样例输出
    			3 0

复制代码
    package Algo;
    import java.util.Scanner;
    /** *  @author DengMingxu
     
     *  2021下午3:34:06
     
     *  Hint:
     *  问题描述:
    		  对于给定整数数组a[],寻找其中最大值,并返回下标。
    		输入格式
    		  整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。
    		输出格式
    		  输出最大值,及其下标
    		样例输入
    				3
    				3 2 1
    		样例输出
    				3 0
     *  Idea:
     		* 本题主考数组简单操作
     		* 难度系数较低
     		* 步骤:
     		  	1、录入数组的值
     		  	2、找到数组中的最大值
     		  	3、找到数组中最大值的坐标
     		    4、输出最大值坐标
     		    
     		* 注意:不要改变数组的顺序,否则想要找到最大值对应的坐标就需要更多的操作了,这样就南辕北辙了。
     */
    public class ALGO_49 {
    	public static void main(String[] args) {
    		Scanner s=new Scanner(System.in);
    		int l=s.nextInt();//先确定数组的长度
    		int []a=new int[l];
    		for(int i=0;i<l;i++){//键盘输入值录入数组中
    			a[i]=s.nextInt();
    		}
    		int max=0,f=0;//定义两个变量分别用以存放最大值和最大值的坐标值
    		max=a[0];
    		for(int i=0;i<a.length;i++){
    			if(a[i]>max){
    				max=a[i];
    				f+=1;
    			}else{
    				continue;
    			}
    		}
    		System.out.println(max+" "+f);
    	}
    }

提交代码:

复制代码
    import java.util.Scanner;
    /** *  @author DengMingxu
     
     *  2021下午3:34:06
     
     *  Hint:
     *  问题描述:
    		  对于给定整数数组a[],寻找其中最大值,并返回下标。
    		输入格式
    		  整数数组a[],数组元素个数小于1等于100。输出数据分作两行:第一行只有一个数,表示数组元素个数;第二行为数组的各个元素。
    		输出格式
    		  输出最大值,及其下标
    		样例输入
    				3
    				3 2 1
    		样例输出
    				3 0
     *  Idea:
     		* 本题主考数组简单操作
     		* 难度系数较低
     		* 步骤:
     		  	1、录入数组的值
     		  	2、找到数组中的最大值
     		  	3、找到数组中最大值的坐标
     		    4、输出最大值坐标
     		    
     		* 注意:不要改变数组的顺序,否则想要找到最大值对应的坐标就需要更多的操作了,这样就南辕北辙了。
     */
    public class Main{
    	public static void main(String[] args) {
    		Scanner s=new Scanner(System.in);
    		int l=s.nextInt();//先确定数组的长度
    		int []a=new int[l];
    		for(int i=0;i<l;i++){//键盘输入值录入数组中
    			a[i]=s.nextInt();
    		}
    		int max=0,f=0;//定义两个变量分别用以存放最大值和最大值的坐标值
    		max=a[0];
    		for(int i=0;i<a.length;i++){
    			if(a[i]>max){
    				max=a[i];
    				f+=1;
    			}else{
    				continue;
    			}
    		}
    		System.out.println(max+" "+f);
    	}
    }

全部评论 (0)

还没有任何评论哟~