定义一个数组,数组中有10个数据,将其按逆序排列,并输出。要求用函数实现,主程序调用时的实参为指针,形参为数组名或指针都可以。
时间: 2024-12-23 12:18:30 浏览: 0
java语言版数据结构
在C语言中,我们可以定义一个函数`reverse_array`,接受指向整数数组的指针作为输入,然后使用双指针法将数组元素逆序。这里是一个简单的实现:
```c
#include <stdio.h>
// 函数声明,接收指向整型数组的指针及其长度
void reverse_array(int* arr, int length);
// 主函数
int main() {
// 创建一个包含10个数据的数组并赋值
int data[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 输出原数组
printf("Original array: ");
for (int i = 0; i < 10; i++) {
printf("%d ", data[i]);
}
printf("\n");
// 调用逆序函数,传入数组的地址
reverse_array(data, 10); // 形参为数组名
// 再次输出逆序后的数组
printf("Reversed array: ");
for (int i = 0; i < 10; i++) {
printf("%d ", data[i]);
}
printf("\n");
return 0;
}
// 逆序数组函数
void reverse_array(int* arr, int length) {
int start = 0, end = length - 1;
while (start < end) {
// 交换arr[start]和arr[end]
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
// 移动指针
start++;
end--;
}
}
```
当你运行这个程序,它会首先显示原始数组,然后显示逆序后的数组。
阅读全文