c语言随机生成10个50以内的整数,用函数实现将其中的最大数与最小数的位置对换后,再输出调整后的数组。
时间: 2024-03-13 09:43:09 浏览: 134
好的,以下是实现程序的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void swap_max_min(int nums[], int len) {
int max_idx = 0, min_idx = 0;
for (int i = 1; i < len; i++) {
if (nums[i] > nums[max_idx]) {
max_idx = i;
}
if (nums[i] < nums[min_idx]) {
min_idx = i;
}
}
int temp = nums[max_idx];
nums[max_idx] = nums[min_idx];
nums[min_idx] = temp;
}
int main() {
int nums[10];
srand((unsigned) time(NULL)); // 初始化随机数种子
for (int i = 0; i < 10; i++) {
nums[i] = rand() % 51; // 生成0-50之间的随机整数
}
printf("原始数组:");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
swap_max_min(nums, 10);
printf("调整后的数组:");
for (int i = 0; i < 10; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
程序中,我们首先定义了`swap_max_min()`函数,该函数接收一个数组和其长度作为参数,返回将其中最大数和最小数的位置对换后的新数组。在函数实现中,我们使用循环遍历数组,找到最大值和最小值的下标,然后交换它们的位置。注意,在C语言中,数组作为函数参数时,是以指针的形式传递的,因此在函数中修改数组元素的值,实际上是修改了原始数组中对应位置的值。
在主程序中,我们使用`srand()`函数和`rand()`函数生成长度为10,元素值在0-50之间的随机整数数组`nums`。接着,我们调用`swap_max_min()`函数将其中的最大数和最小数的位置对换后,输出调整后的数组。
希望我的回答对您有所帮助!
阅读全文