用c语言随机生成10个50以内的整数,用函数实现将其中最大数和最小数位置对换后,再输出调整后的数组
时间: 2024-03-13 09:43:11 浏览: 61
好的,以下是C语言中实现生成10个50以内的随机整数,并将其中最大数和最小数位置对换后,再输出调整后的数组的函数实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generate_random_ints(int random_ints[]) {
int i;
srand(time(NULL));
for (i = 0; i < 10; i++) {
random_ints[i] = rand() % 50 + 1;
}
}
void swap_max_min(int random_ints[]) {
int max_index = 0, min_index = 0, i, temp;
for (i = 0; i < 10; i++) {
if (random_ints[i] > random_ints[max_index]) {
max_index = i;
}
if (random_ints[i] < random_ints[min_index]) {
min_index = i;
}
}
temp = random_ints[max_index];
random_ints[max_index] = random_ints[min_index];
random_ints[min_index] = temp;
}
int main() {
int random_ints[10];
int i;
generate_random_ints(random_ints);
printf("调整前随机整数数组为: ");
for (i = 0; i < 10; i++) {
printf("%d ", random_ints[i]);
}
swap_max_min(random_ints);
printf("\n调整后随机整数数组为: ");
for (i = 0; i < 10; i++) {
printf("%d ", random_ints[i]);
}
printf("\n");
return 0;
}
```
首先我们定义了两个函数,`generate_random_ints()`用于生成10个50以内的随机整数,`swap_max_min()`用于将其中最大数和最小数位置对换。其中,`generate_random_ints()`函数中调用了`srand()`和`rand()`函数来生成随机整数。`swap_max_min()`函数中使用了一个循环来查找最大值和最小值的索引,最后交换这两个值的位置。
在`main()`函数中,我们先调用`generate_random_ints()`函数来生成随机整数,并输出调整前的数组。然后调用`swap_max_min()`函数来对数组进行调整,并输出调整后的数组。
注意,在C语言中,函数的参数传递是通过指针来实现的,因此我们在调用函数时需要将数组作为参数传递给函数,并在函数内部使用指针来访问数组元素。
阅读全文