用C++输入10个整数,将其中最小的数与第一个数对换,把 最大的数与最后一个数对换。
时间: 2023-12-04 20:40:42 浏览: 83
以下是C++实现将最小值和最大值与指定位置对换的代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int arr[10];
int min_index = 0, max_index = 0;
for (int i = 0; i < 10; i++) {
cin >> arr[i];
if (arr[i] < arr[min_index]) {
min_index = i;
}
if (arr[i] > arr[max_index]) {
max_index = i;
}
}
int temp = arr[0];
arr[0] = arr[min_index];
arr[min_index] = temp;
temp = arr[9];
arr[9] = arr[max_index];
arr[max_index] = temp;
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
相关问题
怎么用C++输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换
在C++中,你可以通过以下步骤来实现这个功能:
1. 首先,创建一个包含十个整数的数组。例如,`int numbers[10];`
2. 使用循环从用户那里获取这十个整数并存储到数组中。可以使用`cin`来读取用户的输入,并确保正确处理边界情况。
```cpp
#include <iostream>
using namespace std;
int main() {
int numbers[10];
for (int i = 0; i < 10; ++i) {
cout << "请输入第 " << (i + 1) << " 个整数:";
cin >> numbers[i];
}
//...
}
```
3. 接下来,找到数组中的最大值和最小值。可以分别初始化两个变量,一个用于保存当前最大值,另一个保存最小值。然后遍历整个数组更新这两个值。
4. 再次遍历一次数组,找到第一个元素(原最小值的位置)和最后一个元素(原最大值的位置),然后交换它们的值。
5. 最后,如果找到了正确的最小值和最大值,打印出最终的数组。
以下是完整的示例代码:
```cpp
//...(之前的获取输入部分)
int max_num = numbers[0], min_num = numbers[0]; // 初始化最大值和最小值
for (int i = 1; i < 10; ++i) {
if (numbers[i] > max_num) {
max_num = numbers[i];
} else if (numbers[i] < min_num) {
min_num = numbers[i];
}
}
int temp;
temp = numbers[0]; // 存储第一个数
numbers[0] = min_num; // 将最小数放到第一个位置
numbers[9] = max_num; // 将最大数放到最后一个位置
numbers[9] = temp; // 将临时的旧最大值放回最后一个位置
// 打印结果
for (int i = 0; i < 10; ++i) {
cout << "交换后的第 " << (i + 1) << " 个数:" << numbers[i] << endl;
}
return 0;
}
```
c++输入10个整数,将其中最小的数与第一个数对换,把其中最大的数与最后一个数对换
可以使用数组存储输入的10个整数,然后遍历数组找到最小值和最大值的下标,最后交换对应位置的数即可。
示例代码如下:
```c++
#include <iostream>
using namespace std;
int main() {
int nums[10];
for (int i = 0; i < 10; i++) {
cin >> nums[i]; // 输入10个整数
}
int minIndex = 0, maxIndex = 0;
for (int i = 1; i < 10; i++) {
if (nums[i] < nums[minIndex]) {
minIndex = i; // 更新最小值下标
}
if (nums[i] > nums[maxIndex]) {
maxIndex = i; // 更新最大值下标
}
}
// 交换最小值和第一个数
int temp = nums[0];
nums[0] = nums[minIndex];
nums[minIndex] = temp;
// 交换最大值和最后一个数
temp = nums[9];
nums[9] = nums[maxIndex];
nums[maxIndex] = temp;
// 输出结果
for (int i = 0; i < 10; i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
阅读全文