• JAVA经典算法40题(18)


    【程序35】题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

    Java代码 复制代码 收藏代码
    1. import java.util.*;
    2. public class Ex35 {
    3. public static void main(String[] args) {
    4. int i, min, max, n, temp1, temp2; int a[];
    5. System.out.println("输入数组的长度:");
    6. Scanner keyboard = new Scanner(System.in);
    7. n = keyboard.nextInt();
    8. a = new int[n];
    9. for (i = 0; i < n; i++) {
    10. System.out.print("输入第" + (i + 1) + "个数据");
    11. a[i] = keyboard.nextInt();
    12. }
    13. //以上是输入整个数组
    14. max = 0;
    15. min = 0;
    16. //设置两个标志,开始都指向第一个数
    17. for (i = 1; i < n; i++) { if (a[i] > a[max])
    18. max = i; //遍历数组,如果大于a[max],就把他的数组下标赋给max
    19. if (a[i] < a[min])
    20. min = i; //同上,如果小于a[min],就把他的数组下标赋给min
    21. }
    22. //以上for循环找到最大值和最小值,max是最大值的下标,min是最小值的下标
    23. temp1 = a[0];
    24. temp2 = a[min]; //这两个temp只是为了在交换时使用
    25. a[0] = a[max];
    26. a[max] = temp1; //首先交换a[0]和最大值a[max]
    27. if (min != 0) { //如果最小值不是a[0],执行下面
    28. a[min] = a[n - 1];
    29. a[n - 1] = temp2; //交换a[min]和a[n-1]
    30. } else { //如果最小值是a[0],执行下面
    31. a[max] = a[n - 1];
    32. a[n - 1] = temp1;
    33. }
    34. for (i = 0; i < n; i++) { //输出数组
    35. System.out.print(a[i] + " ");
    36. }
    37. }
    38. }

  • 相关阅读:
    python学习之旅-02
    python学习之旅-01
    wps2016热点永久关闭
    一个游戏制作的全过程
    游戏是怎么赚钱的
    游戏数值策划入门教程
    成长系统的设计方法:如何“挖坑”,又不让玩家反感
    游戏数值策划经验篇:从多角度解读游戏经验值设计
    暴雪战斗公式——除法公式的精髓
    游戏数值策划属性篇(二):属性价值评估
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575956.html
Copyright © 2020-2023  润新知