zoukankan      html  css  js  c++  java
  • 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. }

  • 相关阅读:
    C#如何连接wifi和指定IP
    3.4 小结
    3.3.4.5 起始与清除
    3.3.4.4 打印行
    3.3.4.3 设置字段分隔字符
    3.3.4.2 字段
    3.3.4.1 模式与操作
    3.3.4 使用 awk 重新编排字段
    3.3.3 使用 join 连接字段
    3.3.2 使用 cut 选定字段
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575956.html
Copyright © 2011-2022 走看看