读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。 输入格式: 输入有两行: 第一行是n值; 第二行是n个数。 输出格式: 输出最大值和最小值。c语言
时间: 2025-02-11 12:32:26 浏览: 32
在C语言中,你可以使用`stdio.h`头文件中的`scanf()`函数来读取用户输入的整数,并将它们存储在一个数组中。然后通过自定义的`max_min()`函数找到数组中的最大值和最小值。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义一个函数来寻找并返回最大值和最小值
int* max_min(int arr[], int n) {
int *result = (int*)malloc(sizeof(int) * 2); // 分配空间给结果数组
if (arr && result) { // 验证输入不为空
result[0] = arr[0]; // 先假设第一个元素是最小值
result[1] = arr[0]; // 同理,先假设第一个元素也是最大值
for (int i = 1; i < n; i++) {
if (arr[i] > result[1]) { // 更新最大值
result[1] = arr[i];
}
if (arr[i] < result[0]) { // 更新最小值
result[0] = arr[i];
}
}
return result;
} else {
printf("Error allocating memory.\n");
return NULL;
}
}
int main() {
int n;
scanf("%d", &n); // 读取输入的整数个数
if (n <= 0) {
printf("Invalid input! Please enter a positive integer.\n");
return 1;
}
int arr[n]; // 初始化一个大小为n的数组
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]); // 读取每个整数
}
int* result = max_min(arr, n);
if (result) {
printf("Minimum value: %d\n", result[0]);
printf("Maximum value: %d\n", result[1]);
free(result); // 释放内存
}
return 0;
}
```
这个程序首先读取输入的整数个数,然后读取每个数并将它们存储在数组中。接着调用`max_min()`函数计算最大值和最小值,最后打印结果并释放之前分配的内存。
阅读全文