C语言指针实现数组最小值、最大值和平均值计算
C语言指针实现数组最小值、最大值和平均值计算
本代码使用C语言指针实现了一个函数,该函数可以找出数组中的最小值,并通过指针返回最大值和平均值。代码采用指针法遍历数组,避免使用下标法,提高代码效率。
#include <stdio.h>
int findMin(int* arr, int len, int* max, float* avg) {
int min = *arr;
*max = *arr;
int sum = 0;
for (int i = 0; i < len; i++) {
if (*(arr+i) < min) {
min = *(arr+i);
}
sum += *(arr + i);
}
*max = *(arr + 0);
for (int i = 1; i < len; i++) {
if (*(arr + i) > *max) {
*max = *(arr + i);
}
}
*avg = (float)sum / len;
return min;
}
int main() {
int arr[] = {5, 2, 8, 1, 9};
int len = sizeof(arr) / sizeof(arr[0]);
int max;
float avg;
int min = findMin(arr, len, &max, &avg);
printf('最小值%d
', min);
printf('最大值%d
', max);
printf('平均值%f
', avg);
return 0;
}
代码分析
- 定义函数findMin,参数包括整型数组指针arr、数组长度len、数组最大值指针max和数组平均值指针avg。
- 在函数内部,定义整型变量min,并将arr的第一个元素赋值给min。
- 将arr的第一个元素赋值给max。
- 定义整型变量sum,并初始化为0,用于计算数组元素的和。
- 使用指针法遍历数组arr,对每个元素进行比较,找出最小值并将其赋值给min。
- 使用指针法遍历数组arr,对每个元素进行比较,找出最大值并将其赋值给max。
- 计算数组元素的和,并将结果赋值给sum。
- 将sum除以len,得到数组的平均值,并将结果转换为float类型赋值给avg。
- 返回最小值min。
- 在main函数中,定义整型数组arr并初始化。
- 计算数组长度len。
- 定义整型变量max和float变量avg。
- 调用findMin函数,并将arr、len、&max和&avg作为参数传入。
- 将findMin函数返回的最小值赋值给min。
- 使用printf函数打印最小值、最大值和平均值。
- 返回0,结束程序的执行。
代码功能
这段代码的作用是找出数组中的最小值,并且通过指针的方式返回最大值和平均值。
原文地址: https://www.cveoy.top/t/topic/pl77 著作权归作者所有。请勿转载和采集!