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;
}

代码分析

  1. 定义函数findMin,参数包括整型数组指针arr、数组长度len、数组最大值指针max和数组平均值指针avg。
  2. 在函数内部,定义整型变量min,并将arr的第一个元素赋值给min。
  3. 将arr的第一个元素赋值给max。
  4. 定义整型变量sum,并初始化为0,用于计算数组元素的和。
  5. 使用指针法遍历数组arr,对每个元素进行比较,找出最小值并将其赋值给min。
  6. 使用指针法遍历数组arr,对每个元素进行比较,找出最大值并将其赋值给max。
  7. 计算数组元素的和,并将结果赋值给sum。
  8. 将sum除以len,得到数组的平均值,并将结果转换为float类型赋值给avg。
  9. 返回最小值min
  10. 在main函数中,定义整型数组arr并初始化。
  11. 计算数组长度len。
  12. 定义整型变量max和float变量avg。
  13. 调用findMin函数,并将arr、len、&max和&avg作为参数传入。
  14. 将findMin函数返回的最小值赋值给min
  15. 使用printf函数打印最小值、最大值和平均值
  16. 返回0,结束程序的执行

代码功能

这段代码的作用是找出数组中的最小值,并且通过指针的方式返回最大值和平均值。

C语言指针实现数组最小值、最大值和平均值计算

原文地址: https://www.cveoy.top/t/topic/pl77 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录