用c语言编写一个一维数组,数组内容为1到10,再编写函数max()和min(),求函数的最大最小值
时间: 2024-09-07 11:05:47 浏览: 53
在C语言中,我们可以创建一个动态的一维数组并初始化它,然后定义`max()`和`min()`函数来找到数组中的最大值和最小值。以下是相应的示例代码:
```c
#include <stdio.h>
#include <limits.h>
// 定义数组大小
#define ARRAY_SIZE 10
// 动态分配一维数组
int* create_array() {
int *arr = (int*)malloc(ARRAY_SIZE * sizeof(int));
if (!arr) {
printf("Memory allocation failed.\n");
return NULL;
}
// 初始化数组元素为1到10
for (int i = 0; i < ARRAY_SIZE; i++) {
arr[i] = i + 1;
}
return arr;
}
// 求最大值的函数
int find_max(int *arr, int size) {
int max_val = INT_MIN; // 初始化为整型最小值
for (int i = 0; i < size; i++) {
if (arr[i] > max_val) {
max_val = arr[i];
}
}
return max_val;
}
// 求最小值的函数
int find_min(int *arr, int size) {
int min_val = INT_MAX; // 初始化为整型最大值
for (int i = 0; i < size; i++) {
if (arr[i] < min_val) {
min_val = arr[i];
}
}
return min_val;
}
int main() {
int *array = create_array();
if (array) {
int max_value = find_max(array, ARRAY_SIZE);
int min_value = find_min(array, ARRAY_SIZE);
printf("Array elements: ");
for (int i = 0; i < ARRAY_SIZE; i++) {
printf("%d ", array[i]);
}
printf("\nMax value is: %d\n", max_value);
printf("Min value is: %d\n", min_value);
free(array); // 释放内存
} else {
printf("Program execution stopped due to memory error.\n");
}
return 0;
}
```
在这个例子中,我们首先创建了一个包含1到10的数组,然后分别计算了数组的最大值和最小值,并将结果打印出来。
阅读全文