用C语言编写代码用数组作为函数的参数,将其中N个整数按相反顺序排列,要求输入和输出在主函数中完成
时间: 2024-09-11 18:03:21 浏览: 138
在C语言中,数组作为函数参数传递时,实际上传递的是数组的首地址,也就是数组第一个元素的地址。因此,在函数定义时不需要指定数组的具体大小,只需要知道数组的类型即可。下面是一个使用C语言编写函数,将数组中的N个整数按相反顺序排列的示例代码:
```c
#include <stdio.h>
// 函数声明,用于交换数组元素
void reverseArray(int arr[], int n);
int main() {
int n;
printf("请输入要排列的整数个数N: ");
scanf("%d", &n); // 读取整数个数
// 根据N的值动态分配数组空间
int *arr = (int *)malloc(n * sizeof(int));
if (arr == NULL) {
printf("内存分配失败\n");
return 1; // 如果内存分配失败,则退出程序
}
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]); // 输入N个整数
}
reverseArray(arr, n); // 调用函数进行数组逆序
printf("逆序后的整数为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]); // 输出逆序后的数组元素
}
printf("\n");
free(arr); // 释放动态分配的内存
return 0;
}
// 函数定义,用于交换数组元素,实现逆序
void reverseArray(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;
}
}
```
在这个代码中,`reverseArray` 函数负责将数组元素逆序。它通过一个循环,交换数组两端的元素,直到中间位置。在 `main` 函数中,我们首先通过标准输入获取数组的大小和数组元素,然后调用 `reverseArray` 函数,最后输出逆序后的数组。
阅读全文