首页 > 编程语言 > 详细

Java基础50道经典练习题(35)——最大最小交换

时间:2020-06-06 09:36:01      阅读:40      评论:0      收藏:0      [点我收藏+]
35 【程序 35 最大最小交换】
 
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
 
源码:
package com.homework.test;
import java.util.Scanner;
/*
35 【程序 35 最大最小交换】
题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
 */
public class Test35 {
    public static void main(String[] args) {
        int N = 8;
        int[] a = new int[N];// 创建一个八个元素的数组
        Scanner s = new Scanner(System.in);
        int idx1 = 0, idx2 = 0;
        System.out.println("请输入8个整数:");
        for (int i = 0; i < N; i++) {
            a[i] = s.nextInt();
        }
        // 获得输入的八个数字
        System.out.println("你输入的数组为:");
        for (int i = 0; i < N; i++) {
            System.out.print(a[i] + " ");
        }
        // 输出输入的数组
        int max = a[0], min = a[0];
        for (int i = 0; i < N; i++) {
            if (a[i] > max) {
                max = a[i];
                idx1 = i;
            }
            // 找出最大的数和其下标
            if (a[i] < min) {
                min = a[i];
                idx2 = i;
            }// 找出最大的数和其下标
        }

        if (idx1 != 0) {
            int temp = a[0];
            a[0] = a[idx1];
            a[idx1] = temp;
        }// 最大的数和第一个数交换位置
        if (idx2 != N - 1) {
            int temp = a[N - 1];
            a[N - 1] = a[idx2];
            a[idx2] = temp;
        }// 最小的数和最后一个数交换位置

        System.out.println("\n交换后的数组为:");
        for (int i = 0; i < N; i++) {
            System.out.print(a[i] + " ");
        }
    }
}

  

Java基础50道经典练习题(35)——最大最小交换

原文:https://www.cnblogs.com/lcpp/p/13053269.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!