1.编写一个函数,从键盘任意输入一组数据,使用指针接收这个数组的数据,找出数组中的最大值和最小值,并在主函数中输出。
时间: 2025-01-27 08:06:09 浏览: 58
当然可以。首先,我们假设你正在编写一个C语言程序,因为C++和C都支持指针操作。以下是一个简单的示例,演示如何编写这样的函数:
```c
#include <stdio.h>
#include <limits.h> // 包含最大最小值的定义
// 函数声明,接收整型数组的指针、数组长度以及返回最大值和最小值的指针
void findMinMax(int* arr, int size, int* min, int* max);
int main() {
int input[100]; // 预先分配内存用于存储用户输入
int min_val, max_val; // 存储最小值和最大值
int num_elements;
printf("请输入元素的数量: ");
scanf("%d", &num_elements); // 获取输入数组的大小
if (num_elements <= 0) {
printf("错误: 数组大小必须大于零.\n");
return 1;
}
// 从键盘获取数组元素并存储
for (int i = 0; i < num_elements; i++) {
printf("请输入第 %d 个元素: ", i + 1);
scanf("%d", &input[i]);
}
// 调用findMinMax函数
findMinMax(input, num_elements, &min_val, &max_val);
printf("最小值: %d\n", min_val);
printf("最大值: %d\n", max_val);
return 0;
}
// 找出数组中的最大值和最小值的函数
void findMinMax(int* arr, int size, int* min, int* max) {
*min = *max = arr[0]; // 初始化min和max为数组的第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
```
在这个例子中,`findMinMax`函数接受一个整型数组指针、数组长度和两个指向整数的指针,分别代表最小值和最大值。主函数首先读取用户的输入,并调用此函数来找出数组的最大值和最小值。
阅读全文
相关推荐















