用c语言随机生成10个50以内的整数,用函数实现将其中的最大数与最小数的位置对换后,再输出调整后的数组。
时间: 2024-03-20 22:38:36 浏览: 60
C语言随机产生10个50~100的数
4星 · 用户满意度95%
好的,我可以帮你解决这个问题。以下是用 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 max_min_swap(int arr[], int len) {
int max_idx = 0, min_idx = 0;
for (int i = 1; i < len; i++) {
if (arr[i] > arr[max_idx]) {
max_idx = i;
}
if (arr[i] < arr[min_idx]) {
min_idx = i;
}
}
swap(&arr[max_idx], &arr[min_idx]);
}
void print_array(int arr[], int len) {
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[10];
srand((unsigned)time(NULL));
for (int i = 0; i < 10; i++) {
arr[i] = rand() % 50 + 1;
}
printf("Original array: ");
print_array(arr, 10);
max_min_swap(arr, 10);
printf("Adjusted array: ");
print_array(arr, 10);
return 0;
}
```
首先,我们定义了一个 `swap` 函数,用于交换数组中两个元素的位置。接下来,`max_min_swap` 函数用于找到最大数和最小数的位置,并交换它们的位置。最后,我们定义了一个 `print_array` 函数,用于输出数组的内容。在 `main` 函数中,我们随机生成了一个包含 10 个 1 到 50 之间整数的数组,并调用 `max_min_swap` 函数对数组进行调整,最后输出调整后的数组。
希望这个代码能够帮助到你!
阅读全文