如何设计一个C/C++函数,使用指针参数接收并实现整数数组的逆序存储?编写一个主函数,演示通过该函数接收10个用户输入的整数,并展示逆序后数组的内容。
时间: 2024-12-28 20:30:30 浏览: 7
在C/C++中,你可以设计一个函数`reverse_array`,它接受一个指向整数数组的指针以及数组的长度作为参数,然后使用双指针技术实现数组的逆序存储。下面是一个简单的实现示例:
```c++
#include <iostream>
// 函数声明,使用void来表示无返回值,int*为数组指针,size_t为数组长度
void reverse_array(int*, size_t);
// 主函数
int main() {
int input[10]; // 用户输入的数组
std::cout << "请输入10个整数:" << std::endl;
for (size_t i = 0; i < 10; ++i) {
std::cin >> input[i];
std::cout << "已输入第" << (i+1) << "个元素:" << input[i] << std::endl;
}
std::cout << "原始数组:";
for (int num : input) {
std::cout << num << " ";
}
std::cout << "\n";
// 反转数组
reverse_array(input, 10); // 传递数组和其大小
std::cout << "逆序后的数组:";
for (int num : input) {
std::cout << num << " ";
}
std::cout << "\n";
return 0;
}
// 实现数组逆序
void reverse_array(int* arr, size_t n) {
if (n > 1) {
int temp; // 中间交换的临时变量
size_t start = 0, end = n - 1;
while (start < end) {
temp = arr[start]; // 保存起始位置的元素
arr[start] = arr[end]; // 将结束位置的元素移到起始位置
arr[end] = temp; // 将临时变量赋给结束位置
start++; // 移动开始指针
end--; // 移动结束指针
}
}
}
```
当你运行这个程序,它会先接收用户的10个整数输入,然后显示原始数组,接着逆序数组并再次显示结果。
阅读全文