输入n个整数(n<=100),并放入数组中,将数组元素逆序存放,并输出逆序前和逆序后数组元素的值,要求用指针实现对数组进行访问
时间: 2025-06-14 14:16:00 浏览: 12
在C语言中,你可以使用指针来实现逆序存放数组元素的功能。首先创建一个数组,然后定义两个指针,一个指向数组的开始(即首元素),另一个指向数组的结束。接着交换这两个指针所指向的元素,同时指针各自向前移动一步,直到它们相遇。以下是具体的步骤和代码示例:
```c
#include <stdio.h>
void reverse_array(int *arr, int n) {
int start = 0; // 指向数组起始位置
int end = n - 1; // 指向数组末尾位置
// 使用指针进行元素交换,直到start超过end
while (start < end) {
int temp = arr[start]; // 临时存储起始位置的元素
arr[start] = arr[end]; // 将末尾元素移到起始位置
arr[end] = temp; // 将临时元素放回末尾位置
start++; // 移动起始指针
end--; // 移动结束指针
}
}
// 输出原始和逆序后的数组元素
void print_arrays(int *arr, int n) {
printf("原始数组元素:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("逆序后数组元素:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]); // 因为数组已逆序,无需再次交换
}
printf("\n");
}
int main() {
int num[100], n;
printf("请输入元素个数(n <= 100): ");
scanf("%d", &n);
printf("请输入%d个整数: ", n);
for (int i = 0; i < n; i++) {
scanf("%d", &num[i]);
}
reverse_array(num, n); // 逆序数组
print_arrays(num, n); // 打印原数组和逆序后的数组
return 0;
}
```
在这个程序中,`reverse_array` 函数使用两个指针完成数组的逆序,而 `print_arrays` 函数则用于显示原始和逆序后的数组内容。
阅读全文
相关推荐

















