写一个C语言,将n个数按输入时顺序的逆序排列,用函数实现。
时间: 2024-12-04 11:20:59 浏览: 14
要编写一个C语言程序,使用函数来逆序n个整数的顺序,你可以创建一个名为`reverse_array`的函数,该函数接受一个整数指针、数组长度以及指向数组的第一个元素的地址作为参数。这里是一个简单的实现方法:
```c
#include <stdio.h>
// 函数声明(原型)
void reverse_array(int* arr, int n);
// 主函数
int main() {
int n;
printf("请输入数字的数量(至少1个): ");
scanf("%d", &n);
// 验证输入是否为正整数
if (n <= 0) {
printf("输入错误,请输入一个正整数。\n");
return 1;
}
int arr[n]; // 创建一个足够大的数组
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; ++i) {
scanf("%d", &arr[i]);
}
// 反转数组
reverse_array(arr, n);
printf("逆序后的数组为:\n");
for (int i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 逆序数组函数
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--;
}
}
```
在这个程序中,我们首先获取用户输入的整数数量n,然后创建一个相应大小的数组。接着调用`reverse_array`函数来逆序数组中的元素,最后打印出逆序后的数组。
阅读全文