输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,三个指针,一个指向最小数,一个指向最大数,一个循环指向0~9号元素,交换时必须用指针完成,且不用函数
时间: 2023-12-13 13:04:41 浏览: 111
下面是使用指针交换最小值和第一个数,最大值和最后一个数的示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int nums[10];
cout << "请输入10个整数:" << endl;
for (int i = 0; i < 10; i++) {
cin >> nums[i];
}
// 找到最小值和最大值的位置
int* min_ptr = &nums[0];
int* max_ptr = &nums[0];
for (int i = 1; i < 10; i++) {
if (nums[i] < *min_ptr) {
min_ptr = &nums[i];
}
if (nums[i] > *max_ptr) {
max_ptr = &nums[i];
}
}
// 交换最小值和第一个数
int temp = nums[0];
nums[0] = *min_ptr;
*min_ptr = temp;
// 交换最大值和最后一个数
temp = nums[9];
nums[9] = *max_ptr;
*max_ptr = temp;
// 输出交换后的数组
cout << "交换后的数组:" << endl;
for (int i = 0; i < 10; i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果:
```
请输入10个整数:
9 4 6 2 8 1 5 7 3 0
交换后的数组:
0 4 6 2 8 1 5 7 3 9
```
阅读全文