3. c语言:将一个数组的值按逆序重新存放,例如,原来顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。
时间: 2023-06-10 09:03:52 浏览: 56
这个问题很简单,可以使用双指针来实现。我们定义两个指针i和j,分别指向数组的头和尾,然后将它们所指向的元素进行交换,i向后移动,j向前移动,直到两个指针相遇为止。这样就可以将数组按逆序重新存放了。下面是代码示例:
```c
void reverse(int* arr, int n){
int i = 0, j = n - 1;
while(i < j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
```
其中,arr是指向要逆序存放的数组的指针,n是数组的长度。
相关问题
用C语言将一个数组中的值按逆序存放重新存放例如原来顺序为86541要求改为14568
可以通过以下代码实现:
```
#include<stdio.h>
void reverseArray(int arr[], int n){
for (int i = 0; i < n/2; i++) {
int temp = arr[i];
arr[i] = arr[n-i-1];
arr[n-i-1] = temp;
}
}
int main() {
int array[] = {8, 6, 5, 4, 1};
int n = sizeof(array)/sizeof(array[0]);
printf("Original array: ");
for (int i=0; i < n; i++){
printf("%d ", array[i]);
}
reverseArray(array, n);
printf("\nReversed array: ");
for (int i=0; i < n; i++){
printf("%d ", array[i]);
}
return 0;
}
```
输出:
```
Original array: 8 6 5 4 1
Reversed array: 1 4 5 6 8
```
生成c语言代码:将一个数组中的值按逆序重新存放。例如,原来顺序为8、6、5、4、1,要求改为1、4、 5、6、8。
好的,以下是生成的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[] = {8, 6, 5, 4, 1};
int len = sizeof(arr) / sizeof(int);
int temp, i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
printf("按逆序重新存放后的数组为:\n");
for (i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这段代码定义了一个整型数组 `arr`,并使用双指针法将数组中的值按逆序重新存放。最后,输出重新存放后的数组。