可以使用rand()函数生成随机数,同时使用循环遍历数组中的每一个元素,然后将生成的随机数存储到相应的元素中。最后再遍历一次数组,找到最小值和最大值,与m[9]和m[10]的值进行交换。
时间: 2024-01-24 11:17:21 浏览: 16
好的,下面给您提供一份参考代码,具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int m[10];
srand(time(NULL)); // 设置随机数种子
// 生成随机数并存储到数组中
for (int i = 0; i < 10; i++) {
m[i] = rand() % 100;
}
// 输出原始数组
printf("原始数组为:");
for (int i = 0; i < 10; i++) {
printf("%d ", m[i]);
}
printf("\n");
// 找到最小值和最大值并与m[9]和m[10]进行交换
int minIndex = 0, maxIndex = 0;
for (int i = 1; i < 10; i++) {
if (m[i] < m[minIndex]) {
minIndex = i;
}
if (m[i] > m[maxIndex]) {
maxIndex = i;
}
}
int temp = m[minIndex];
m[minIndex] = m[9];
m[9] = temp;
temp = m[maxIndex];
m[maxIndex] = m[10];
m[10] = temp;
// 输出交换后的数组
printf("交换后的数组为:");
for (int i = 0; i < 10; i++) {
printf("%d ", m[i]);
}
printf("\n");
return 0;
}
```
注意,上述代码中使用了`srand()`函数设置了随机数种子,这样可以生成更随机的随机数。同时,我们使用循环遍历数组并找到最小值和最大值,并将它们与`m[9]`和`m[10]`交换,最后输出交换后的数组。