随机生成10个50以内的整数,用函数实现将其中的最大数与最小数的位置对换后,再输出调整后的数组用C语言
时间: 2024-03-20 11:38:34 浏览: 59
好的,以下是使用 C 语言实现该功能的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 交换两个数的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 将最大数和最小数的位置对换
void swapMinMax(int *nums, int size) {
int max = nums[0], min = nums[0], max_index = 0, min_index = 0;
// 找到最大值和最小值的索引
for (int i = 0; i < size; i++) {
if (nums[i] > max) {
max = nums[i];
max_index = i;
}
if (nums[i] < min) {
min = nums[i];
min_index = i;
}
}
// 交换最大值和最小值的位置
swap(&nums[max_index], &nums[min_index]);
}
int main() {
int nums[10];
// 生成随机整数列表
srand(time(NULL));
for (int i = 0; i < 10; i++) {
nums[i] = rand() % 50;
}
printf("原始列表:");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
// 将最大数和最小数的位置对换
swapMinMax(nums, 10);
printf("调整后的列表:");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
代码中,我们首先使用 `srand()` 函数和 `rand()` 函数生成了一个包含 10 个 50 以内随机整数的列表 `nums`,然后使用 `swapMinMax()` 函数找到最大值和最小值的索引,并使用 `swap()` 函数交换两个变量的值。
阅读全文