使用c语言编写以下代码:用数组作函数参数,将数组中n个整数按相反顺序存放,要求输入输出在主函数中完成
时间: 2024-09-09 18:15:05 浏览: 141
当你想要使用C语言编写一个函数,该函数接受一个整数数组作为参数,并将其元素按照相反的顺序存储回去,你可以创建一个名为`reverse_array`的函数。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义一个反序数组的函数
void reverse_array(int arr[], int n) {
int start = 0; // 开始位置
int end = n - 1; // 结束位置
// 当开始位置小于结束位置时,交换元素并移动边界
while (start < end) {
int temp = arr[start]; // 存储当前元素
arr[start] = arr[end];
arr[end] = temp;
start++; // 移动开始位置
end--; // 移动结束位置
}
}
// 主函数用于输入和输出数组
int main() {
int n;
printf("请输入数组元素的数量: ");
scanf("%d", &n);
// 动态分配内存,因为不知道用户会输入多少个数
int* input_array = malloc(n * sizeof(int));
if (input_array == NULL) {
printf("内存分配失败!\n");
return 1;
}
printf("请输入%d个整数: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &input_array[i]);
}
// 反转数组
reverse_array(input_array, n);
// 输出反转后的数组
printf("反转后的数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", input_array[i]);
}
printf("\n");
// 释放动态分配的内存
free(input_array);
return 0;
}
```
在这个程序中,我们首先读取用户输入的数组长度,然后分配内存保存输入的整数。接着,我们在`main`函数中调用`reverse_array`函数对数组进行反向操作,最后输出结果并释放内存。
阅读全文