首页 > 解决方案 > 使用显示错误值的双数组中的值的平均函数

问题描述

对 C 来说非常新,反正一直在编写一个程序,您可以在其中输入存储在单独数组中的双精度对。我创建了一个函数来获取数字的平均值,但是当我在 main 内部调用它时,值是不同的。有任何想法吗?

平均功能:

mean(double *arr)
{
    double sum = 0.0;
    double meanValue = 0.0;
    int i;

    for (i = 0; i < arr[i]; i++)
    {
        sum += arr[i];
        meanValue = sum / i;
    }

    printf("\nmean: %.3lf", meanValue);
}

主要的:

double num1[1001];
mean(num1);

而且,我正在使用以下方法获取 num1 和 num2 值:

for (k = 0; (scanf_s("%lf,%lf", &num1[k], &num2[k] ) == 2); k++)

标签: c

解决方案


该函数需要知道它应该处理多少个数组元素。

mean(double *arr, int size)
{
    double sum = 0.0;
    double meanValue = 0.0;
    int i;

    for (i = 0; i < size; i++)
    {
        sum += arr[i];
    }
    meanValue = size > 0 ? sum / size : 0;

    printf("\nmean: %.3lf", meanValue);
}

大小是k输入循环完成后的值,所以你称之为:

mean(num1, k);

推荐阅读