崔志伟博客

Java版 将数组中的数逆序存放

本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。

输入格式:

输入在第一行中给出一个正整数n1)。第二行输入n个整数,用空格分开。

输出格式:

在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。

输入样例:

4
10 8 1 2

输出样例:

2 1 8 10

程序:

 import java.util.Scanner;
public class exersice {
public static void main(String[] args) {
      Scanner in=new Scanner(System.in);
      int N= in.nextInt();
      int a[]=new int[N]; 
      for(int i=0;i<a.length;i++){
     a[i]=in.nextInt();
      }
      int temp;
      for(int i=0;i<a.length/2;i++){
    temp=a[i];
    a[i]=a[a.length-i-1];
    a[a.length-i-1]=temp;
      }
      for(int i=0;i<a.length;i++){
     System.out.println(a[i]+" ");
      }
}

}

运行结果


代码分析:

整道题最主要的地方是:i<a.length/2与a.length-i-1

输入10 8 1 2

a[0],a[3]交换

a[1],a[2]交换

即a[i]与a[a.length-i-1]交换,注意,这里不是a[a.length-i],因为数组最大标值是数组实际长度-1;

循环的次数为a.length/2,只需要循环一半长度的次数;

来源:https://blog.csdn.net/students__/article/details/80636100

上一篇: 进程的创建之Unix环境fork一个进程

下一篇: Docker下,五分钟极速体验机器学习