用C++编写程序:用指针的方法处理:输入10个整数,将其中最小的数与第一个数对换,把最大的 数与最后一个数对换。
时间: 2023-12-04 12:19:32 浏览: 111
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
可以使用指针来实现这个功能,具体的实现步骤如下:
1. 定义一个指向整型数组的指针,并用它来接收用户输入的10个整数。
2. 遍历整型数组,找到其中的最小值和最大值,并记录它们的下标。
3. 使用指针交换最小值和第一个数的位置,以及最大值和最后一个数的位置。
以下是具体的 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int arr[10];
int *p = arr;
// 输入10个整数
cout << "请输入10个整数:" << endl;
for (int i = 0; i < 10; i++) {
cin >> *(p + i);
}
// 找到最小值和最大值的下标
int min_index = 0, max_index = 0;
for (int i = 1; i < 10; i++) {
if (*(p + i) < *(p + min_index)) {
min_index = i;
}
if (*(p + i) > *(p + max_index)) {
max_index = i;
}
}
// 交换最小值和第一个数的位置
int temp = *p;
*p = *(p + min_index);
*(p + min_index) = temp;
// 交换最大值和最后一个数的位置
temp = *(p + 9);
*(p + 9) = *(p + max_index);
*(p + max_index) = temp;
// 输出结果
cout << "处理后的数组为:" << endl;
for (int i = 0; i < 10; i++) {
cout << *(p + i) << " ";
}
cout << endl;
return 0;
}
```
运行程序,输入10个整数,即可得到处理后的结果。
阅读全文