数组的习题

2016-07-27  本文已影响38人  JR_咖啡少年

【1】编写一个程序,计算一维数组中的最大值、最小值及其差值。

package com.chapter5.lianxi;

public class ArrayMax {
    public int[] arr = {1,4,2,7};
    public int max = arr[0];
    public int min = arr[0];    
    //最大值
    public void max(int[] arr){
        for(int i = 0; i < arr.length-1; i++){
            if(max < arr[i+1]){
                max = arr[i+1];
                
            }
            
        }
        System.out.println(max);        
    }
    //最小值
    public void min(int[] arr){
        for(int i = 0; i < arr.length-1; i++){
        if(min > arr[i+1]){
            min = arr[i+1];
                        
        }
        }
        System.out.println(min);
}
}

【2】将一个数组中的数逆序重新存放

package com.chapter5.lianxi;

public class ArrayReverse {
    public static void main(String[] args) {
        int[] arr = { 3, 2, 9, 4, 6, 8, 7, 5,1 };
        bubbleSort(arr);        
    }
    
    /**
     * int[] arr = { 3, 2, 9, 4, 6, 8, 7, 5,1 };
   将这个数组里面的数按从小到大的顺序在控制台打印输出。
     * @param arr
     */
    public static void bubbleSort(int[] arr){   
        //排序
        for(int i = 0; i < arr.length; i++){  //趟数
            System.out.println();
            System.out.println("比较第" + i + "趟后的排序结果为: ");   
            for(int j = 0; j < arr.length - 1 - i; j++){ //比较多少轮
                if(arr[j] > arr[j + 1]){
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;                  
                }
                
                //打印比较第i趟的结果
                for(int k: arr){                    
                System.out.print(k + "  ");
                }
                System.out.println();
            }
            
        }
        System.out.println("************************************");
        //最终打印输出        
        for(int i = 0; i < arr.length; i++){
            System.out.print(arr[i] + "  ");
        }
    }
}

【3】int[] arr = { 3, 2, 9, 4, 6, 8, 7, 5,1 };(冒泡排序)
将这个数组里面的数按从小到大的顺序在控制台打印输出。

package com.chapter5.lianxi;

public class ArrayReverse {
    public static void main(String[] args) {
        int[] arr = { 3, 2, 9, 4, 6, 8, 7, 5,1 };
        bubbleSort(arr);        
    }
    
    /**
     * int[] arr = { 3, 2, 9, 4, 6, 8, 7, 5,1 };
   将这个数组里面的数按从小到大的顺序在控制台打印输出。
     * @param arr
     */
    public static void bubbleSort(int[] arr){   
        //排序
        for(int i = 0; i < arr.length; i++){  //趟数
            System.out.println();
            System.out.println("比较第" + i + "趟后的排序结果为: ");   
            for(int j = 0; j < arr.length - 1 - i; j++){ //比较多少轮
                if(arr[j] > arr[j + 1]){
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;                  
                }
                
                //打印比较第i趟的结果
                for(int k: arr){                    
                System.out.print(k + "  ");
                }
                System.out.println();
            }
            
        }
        System.out.println("************************************");
        //最终打印输出        
        for(int i = 0; i < arr.length; i++){
            System.out.print(arr[i] + "  ");
        }
    }

}



比较第0趟后的排序结果为: 
2  3  9  4  6  8  7  5  1  
2  3  9  4  6  8  7  5  1  
2  3  4  9  6  8  7  5  1  
2  3  4  6  9  8  7  5  1  
2  3  4  6  8  9  7  5  1  
2  3  4  6  8  7  9  5  1  
2  3  4  6  8  7  5  9  1  
2  3  4  6  8  7  5  1  9  

比较第1趟后的排序结果为: 
2  3  4  6  8  7  5  1  9  
2  3  4  6  8  7  5  1  9  
2  3  4  6  8  7  5  1  9  
2  3  4  6  8  7  5  1  9  
2  3  4  6  7  8  5  1  9  
2  3  4  6  7  5  8  1  9  
2  3  4  6  7  5  1  8  9  

比较第2趟后的排序结果为: 
2  3  4  6  7  5  1  8  9  
2  3  4  6  7  5  1  8  9  
2  3  4  6  7  5  1  8  9  
2  3  4  6  7  5  1  8  9  
2  3  4  6  5  7  1  8  9  
2  3  4  6  5  1  7  8  9  

比较第3趟后的排序结果为: 
2  3  4  6  5  1  7  8  9  
2  3  4  6  5  1  7  8  9  
2  3  4  6  5  1  7  8  9  
2  3  4  5  6  1  7  8  9  
2  3  4  5  1  6  7  8  9  

比较第4趟后的排序结果为: 
2  3  4  5  1  6  7  8  9  
2  3  4  5  1  6  7  8  9  
2  3  4  5  1  6  7  8  9  
2  3  4  1  5  6  7  8  9  

比较第5趟后的排序结果为: 
2  3  4  1  5  6  7  8  9  
2  3  4  1  5  6  7  8  9  
2  3  1  4  5  6  7  8  9  

比较第6趟后的排序结果为: 
2  3  1  4  5  6  7  8  9  
2  1  3  4  5  6  7  8  9  

比较第7趟后的排序结果为: 
1  2  3  4  5  6  7  8  9  

比较第8趟后的排序结果为: 
************************************
1  2  3  4  5  6  7  8  9  

【4】3*4的二维数组里的每行的元素累乘,每行的累乘值再累加。

【5】存储所有学生成绩,并求出平均成绩。
打印出分数在60-70的学生的分数。(用户输入)

【6】现在给出两个数组:
数组a:1,7,9,11,13,15,17,19
数组b:2,4,6,8,10
两个数组合并为数组c,按升序排列。

上一篇 下一篇

猜你喜欢

热点阅读