定义一个函数,获取某个数组中的最小值
时间: 2023-06-05 17:48:04 浏览: 230
可以定义一个函数,接收一个数组作为参数,然后遍历数组,找到其中的最小值并返回即可。
具体实现可以参考以下代码:
```python
def get_min(arr):
min_val = arr[] # 先将数组的第一个元素作为最小值
for i in range(1, len(arr)):
if arr[i] < min_val:
min_val = arr[i]
return min_val
```
使用时,只需要传入一个数组即可:
```python
arr = [3, 5, 1, 7, 2, 9]
min_val = get_min(arr)
print(min_val) # 输出 1
```
相关问题
定义一个函数,将数组中的最大值与最小值交换位置(要求用指针完成)
好的,以下是一个简单的实现:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void swap_max_min(int *arr, int size) {
// 找到最大值和最小值的下标
int max_index = 0, min_index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
// 交换最大值和最小值
swap(&arr[max_index], &arr[min_index]);
}
int main() {
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("Before swapping: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
swap_max_min(arr, size);
printf("After swapping: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序定义了一个 `swap` 函数,用于交换两个整数的值。然后定义了一个 `swap_max_min` 函数,用于找到数组中的最大值和最小值的下标,并将它们交换。在 `main` 函数中,我们测试了这个函数,输出了交换前和交换后的数组。
C语言在main()函数中定义数组及给定输入数的个数,调用定义的函数实现输入数组中的值然后调用定义的函数输出;再调用定义函数实现最大值和最小值互换后调用被定义的函数输出
好的,您的问题是如何在C语言中定义数组并调用函数实现输入输出,以及如何实现最大值和最小值的互换并输出结果。以下是一个示例程序:
```c
#include <stdio.h>
void input_array(int arr[], int n);
void output_array(int arr[], int n);
void swap_max_min(int arr[], int n);
int find_max_index(int arr[], int n);
int find_min_index(int arr[], int n);
int main() {
int n;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
input_array(arr, n);
printf("原始数组为:");
output_array(arr, n);
swap_max_min(arr, n);
printf("最大值和最小值已经互换,数组为:");
output_array(arr, n);
return 0;
}
void input_array(int arr[], int n) {
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
}
void output_array(int arr[], int n) {
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void swap_max_min(int arr[], int n) {
int max_index = find_max_index(arr, n);
int min_index = find_min_index(arr, n);
int temp = arr[max_index];
arr[max_index] = arr[min_index];
arr[min_index] = temp;
}
int find_max_index(int arr[], int n) {
int max_index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[max_index]) {
max_index = i;
}
}
return max_index;
}
int find_min_index(int arr[], int n) {
int min_index = 0;
for (int i = 1; i < n; i++) {
if (arr[i] < arr[min_index]) {
min_index = i;
}
}
return min_index;
}
```
这个程序定义了一个 `input_array` 函数来输入数组,一个 `output_array` 函数来输出数组,一个 `swap_max_min` 函数来实现最大值和最小值的互换,以及两个辅助函数 `find_max_index` 和 `find_min_index` 来找到最大值和最小值的下标。在 `main` 函数中,先输入数组长度和数组元素,然后依次调用这些函数即可。
阅读全文