输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。
时间: 2023-12-04 07:51:42 浏览: 62
以下是实现该功能的C++代码:
```cpp
#include <iostream>
using namespace std;
// 输入10个数
void input(int arr[]) {
cout << "请输入10个整数:" << endl;
for (int i = 0; i < 10; i++) {
cin >> arr[i];
}
}
// 进行处理
void process(int *arr) {
int *min = arr, *max = arr;
for (int *p = arr; p < arr + 10; p++) {
if (*p < *min) {
min = p;
}
if (*p > *max) {
max = p;
}
}
// 将最小的数与第一个数对换
int temp = *arr;
*arr = *min;
*min = temp;
// 如果最大的数是第一个数,需要重新更新一下max指针
if (max == arr) {
max = min;
}
// 将最大的数与最后一个数对换
temp = *(arr + 9);
*(arr + 9) = *max;
*max = temp;
}
// 输出10个数
void output(int arr[]) {
cout << "处理后的10个数为:" << endl;
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int arr[10];
input(arr);
process(arr);
output(arr);
return 0;
}
```
使用指针的方法可以让我们更方便地操作数组元素,从而实现对数组的处理。在上述代码中,我们使用了指针来查找数组中最小值和最大值的位置,然后再通过指针进行交换。需要注意的是,交换时要使用临时变量来进行值的保存。
阅读全文