编写函数,实现任何整形数组元素的逆置。在主函数调用该函数,完成10个数组元素的逆置。用c语言实现
时间: 2024-02-25 13:59:04 浏览: 21
好的,以下是代码实现:
```c
#include <stdio.h>
void reverse_array(int arr[], int n) {
int temp;
for(int i = 0; i < n/2; i++) {
temp = arr[i];
arr[i] = arr[n-1-i];
arr[n-1-i] = temp;
}
}
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
printf("原始数组:\n");
for(int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
reverse_array(arr, 10);
printf("\n逆置后的数组:\n");
for(int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在上面的代码中,`reverse_array` 函数接收一个整型数组和数组的长度,使用循环将数组元素逆置。在 `main` 函数中,我们定义一个长度为10的整型数组并初始化,然后调用 `reverse_array` 函数逆置数组元素,最后打印出逆置后的数组。
相关问题
编写函数,实现任何整形数组元素的逆置。在主函数输入10个数字后调用该函数,完成10个数组元素的逆置。用c语言实现
以下是C语言实现的函数:
```c
void reverse(int arr[], int len) {
int i, temp;
for (i = 0; i < len / 2; i++) {
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
}
```
该函数接受两个参数,第一个参数是整型数组,第二个参数是数组的长度。函数将数组中的元素逆置,即将第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换,以此类推。
以下是在主函数中调用该函数完成数组逆置的例子:
```c
#include <stdio.h>
void reverse(int arr[], int len);
int main() {
int arr[10], i;
printf("输入10个数字:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
reverse(arr, 10);
printf("逆置后的数组:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void reverse(int arr[], int len) {
int i, temp;
for (i = 0; i < len / 2; i++) {
temp = arr[i];
arr[i] = arr[len - i - 1];
arr[len - i - 1] = temp;
}
}
```
输入10个数字后,调用`reverse`函数将数组逆置,然后输出逆置后的数组。
用c语言采用指针的方法逆置一维数组,用函数实现数组逆置,在主函数中输出逆置后的数组。
下面是一个示例代码,实现了通过指针逆置一维数组的功能:
```
#include <stdio.h>
void reverse(int *arr, int len);
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
printf("Original array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
reverse(arr, len);
printf("Reversed array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void reverse(int *arr, int len)
{
int temp;
int *start = arr;
int *end = arr + len - 1;
while (start < end) {
temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
```
这个程序中,我们定义了一个 `reverse` 函数,用来逆置一维数组。函数接收两个参数,一个是数组的首元素地址,另一个是数组的长度。在函数中,我们使用了两个指针 `start` 和 `end` 分别指向数组的首元素和末元素。通过不断交换 `start` 和 `end` 指向的元素,最终完成了数组的逆置。在主函数中,我们首先输出原始数组,然后调用 `reverse` 函数逆置数组并输出逆置后的结果。
输出结果如下:
```
Original array: 1 2 3 4 5
Reversed array: 5 4 3 2 1
```