有一个整数数组,其中存放着1,2,3,4,5,6,7,8,9,将该数组倒叙存放并输出Java
时间: 2023-07-28 07:06:30 浏览: 159
可以使用一个临时变量来交换数组中的元素,从而实现数组倒序的操作。具体代码如下:
```java
public class ReverseArray {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int len = arr.length;
for (int i = 0; i < len / 2; i++) {
int temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
for (int num : arr) {
System.out.print(num + " ");
}
}
}
```
输出结果为:
```
9 8 7 6 5 4 3 2 1
```
相关问题
用java实现有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出
在 Java 中,你可以通过创建一个新的整数数组,然后使用循环或者双指针技术将原数组的内容倒序存储。以下是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
// 定义原始数组
int[] originalArray = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
// 创建一个新数组用于存储倒序结果
int[] reversedArray = new int[originalArray.length];
// 使用双指针法倒序
int left = 0;
int right = originalArray.length - 1;
while (left < right) {
// 交换左右两端的元素
reversedArray[left] = originalArray[right];
reversedArray[right] = originalArray[left];
// 移动指针
left++;
right--;
}
// 输出倒序后的数组
for (int num : reversedArray) {
System.out.print(num + " ");
}
}
}
```
运行这段程序,你会得到倒序后的数字序列:`19 17 15 13 11 9 7 5 3 1`。
用c语言编写完整程序实现对数组的处理。主函数中定义存放 10 个整数元素的一个数组 int a[10],利用 scanf 实现对数组 a 中各个元素的输入。(1)编写函数 void moveright(int pa[], int n),其中参数 n 为数组的长度。该函数将数组 pa 中的元素循环右移 1 位。例如,若数组 pa 为{1,2,3,4,5,6,7,8,9,10},则函数调用处理后 pa 为{10,1,2,3,4,5,6,7,8,9}。(2)编写函数 void moveleft(int pa[], int n),其中参数 n 为数组的长度。该函数将数组 pa 中的元素循环左移 1 位。例如,若数组 pa 为{1,2,3,4,5,6,7,8,9,10},则函数调用处理后 pa 为{2,3,4,5,6,7,8,9,10,1}。(3)编写函数 void moverightcycle(int pa[], int n, int m),其中参数 n 为数组的长度,m 为右移位数。该函数将数组 pa 中的元素循环右移 m 位。例如,若数组 pa 为{1,2,3,4,5,6,7,8,9,10},右移 3 位,则函数调用处理后 pa 为{8,9,10,1,2,3,4,5,6,7}。(4)主函数中先输入数组 a 的各个元素,然后调用 moveright 函数,输出处理后的数组的全部元素;接着调用 moveleft 函数,输出数组的全部元素;最后要求输入右移的位数,然后调用 moverightcycle 函数,最后输出处理后的数组的全部元素
以下是实现该程序的代码:
```c
#include <stdio.h>
void moveright(int pa[], int n);
void moveleft(int pa[], int n);
void moverightcycle(int pa[], int n, int m);
int main() {
int a[10];
printf("Please enter 10 integers for array a:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
moveright(a, 10);
printf("After moveright function, array a is:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
moveleft(a, 10);
printf("After moveleft function, array a is:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
int m;
printf("Please enter the number of positions to move right:\n");
scanf("%d", &m);
moverightcycle(a, 10, m);
printf("After moverightcycle function, array a is:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
void moveright(int pa[], int n) {
int temp = pa[n-1];
for (int i = n-1; i > 0; i--) {
pa[i] = pa[i-1];
}
pa[0] = temp;
}
void moveleft(int pa[], int n) {
int temp = pa[0];
for (int i = 0; i < n-1; i++) {
pa[i] = pa[i+1];
}
pa[n-1] = temp;
}
void moverightcycle(int pa[], int n, int m) {
for (int i = 0; i < m; i++) {
moveright(pa, n);
}
}
```
运行程序后,输入 10 个整数,之后程序会分别调用三个函数对数组进行操作,最后输出处理后的数组。
阅读全文