可以使用rand()函数生成随机数,同时使用循环遍历数组中的每一个元素,然后将生成的随机数存储到相应的元素中。最后再遍历一次数组,找到最小值和最大值,与m[9]和m[10]的值进行交换,其他元素位置不变。
时间: 2024-01-24 12:17:22 浏览: 55
是的,您可以使用rand()函数来生成随机数,然后使用循环遍历数组中的每个元素,并将生成的随机数存储到相应的元素中。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL)); // 初始化随机数种子
int m[10]; // 定义数组
for (int i = 0; i < 10; i++) {
m[i] = rand() % 100; // 生成随机数并存储到数组中
}
int min = m[0], max = m[0], min_index = 0, max_index = 0;
// 找到最小值和最大值以及它们的下标
for (int i = 0; i < 10; i++) {
if (m[i] < min) {
min = m[i];
min_index = i;
}
if (m[i] > max) {
max = m[i];
max_index = i;
}
}
// 交换最小值和m[9]的值
int temp = m[min_index];
m[min_index] = m[9];
m[9] = temp;
// 交换最大值和m[10]的值
temp = m[max_index];
m[max_index] = m[10];
m[10] = temp;
// 输出数组中的元素
for (int i = 0; i < 10; i++) {
cout << m[i] << " ";
}
cout << endl;
return 0;
}
```
在这个示例中,我们使用srand()函数来初始化随机数种子,然后使用rand()函数来生成0到99之间的随机整数,并将它们存储到数组中。接下来,我们找到最小值和最大值以及它们的下标,并交换m[9]和最小值之间的值,以及m[10]和最大值之间的值。最后,我们再次遍历数组,并输出每个元素的值。
请注意,这只是一个示例代码,您可以根据自己的需求进行修改。
阅读全文