用C语言写一个函数,要求将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。
时间: 2023-09-03 18:13:19 浏览: 69
可以使用如下的C语言代码实现该函数:
```c
void reverse_array(int *arr, int size) {
int i, temp;
for (i = 0; i < size / 2; i++) {
temp = arr[i];
arr[i] = arr[size - i - 1];
arr[size - i - 1] = temp;
}
}
```
该函数的参数包括一个整型数组和数组的大小。在函数中,使用了一个循环来遍历数组中的每个元素,将数组中第一个元素和最后一个元素交换位置,第二个元素和倒数第二个元素交换位置,以此类推,直到数组中间的位置。这样就可以将数组中的值按照逆序重新存放了。
相关问题
用c语言编制程序,要求包括一个子函数:将一个数组中的值按逆序重新存放。例如原来顺序为:8、6、5、4、1。要求改为:1、4、5、6、8。
好的,下面是一个用 C 语言实现的程序,可以将一个数组中的值按逆序重新存放:
```c
#include <stdio.h>
// 将数组中的值按逆序重新存放
void reverse(int arr[], int n) {
int i, j;
for (i = 0, j = n - 1; i < j; i++, j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int main() {
int arr[] = {8, 6, 5, 4, 1};
int n = sizeof(arr) / sizeof(arr[0]);
printf("原数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, n);
printf("逆序后的数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序中,`reverse` 函数用于将一个数组中的值按逆序重新存放。我们使用两个指针 `i` 和 `j` 分别指向数组的前后两个元素,然后交换它们的值,直到指针相遇为止。在 `main` 函数中,我们先定义一个数组,输出原数组的值,然后调用 `reverse` 函数将其按逆序重新存放,最后输出逆序后的数组。
用C语言写一个代码,要求这个代码将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。
可以使用如下的C语言代码实现该功能:
```c
#include <stdio.h>
void reverse_array(int *arr, int size) {
int i, temp;
for (i = 0; i < size / 2; i++) {
temp = arr[i];
arr[i] = arr[size - i - 1];
arr[size - i - 1] = temp;
}
}
int main() {
int arr[] = {8, 6, 5, 4, 1};
int size = sizeof(arr) / sizeof(arr[0]);
int i;
printf("Original array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
reverse_array(arr, size);
printf("\nReversed array: ");
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
该程序定义了一个函数 `reverse_array`,它接受一个整型数组和数组的大小作为参数,然后使用循环遍历数组并交换相邻的元素,从而将数组中的值按逆序重新存放。
在 `main` 函数中,定义了一个数组 `arr`,并输出原始数组的值。然后调用 `reverse_array` 函数,将数组按逆序重新存放,再输出修改后的数组的值。
阅读全文