8. 编写一个程序,从任意10个数中找到最大的数和最小的数,并将它们相互交换。c++
时间: 2024-03-20 11:40:04 浏览: 79
以下是一个简单的 C++ 程序,可以从用户输入的 10 个数字中找到最大值和最小值,并将它们相互交换:
```c++
#include <iostream>
using namespace std;
int main()
{
int nums[10];
int max_num = INT_MIN, min_num = INT_MAX;
// 读入 10 个数字
for(int i = 0; i < 10; i++)
{
cout << "请输入第 " << i+1 << " 个数字:";
cin >> nums[i];
// 更新最大值和最小值
if(nums[i] > max_num)
max_num = nums[i];
if(nums[i] < min_num)
min_num = nums[i];
}
// 输出原始数组
cout << "原始数组:";
for(int i = 0; i < 10; i++)
cout << nums[i] << " ";
cout << endl;
// 交换最大值和最小值
for(int i = 0; i < 10; i++)
{
if(nums[i] == max_num)
nums[i] = min_num;
else if(nums[i] == min_num)
nums[i] = max_num;
}
// 输出交换后的数组
cout << "交换后的数组:";
for(int i = 0; i < 10; i++)
cout << nums[i] << " ";
cout << endl;
return 0;
}
```
在这个程序中,我们使用一个名为 `nums` 的数组来存储用户输入的 10 个数字。我们还定义了两个变量 `max_num` 和 `min_num`,初始值分别为 `INT_MIN` 和 `INT_MAX`,这是因为我们需要将它们初始化为一个比较小的数和一个比较大的数,以确保在后续比较中不会出现错误。
接下来,我们使用一个循环读入用户输入的数字,并在循环的过程中更新最大值和最小值。一旦读入了所有数字,我们会输出原始数组,并使用另一个循环来交换数组中的最大值和最小值。最后,我们再次输出交换后的数组。
阅读全文