C++ 程序计算标准差

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习如何编写一个 C++ 程序,使用函数计算一组数字的标准差。该程序将演示如何计算一组数字的方差(即与均值的平方差的平均值),然后取其平方根得到标准差。

定义计算标准差的函数

我们将从定义一个函数开始,该函数接收一个浮点值数组并返回这些值的标准差。

float SD(float values[]) // function for calculating standard deviation
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calculating sum
    }
    mean = sum/10; // finding mean.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calculating standard deviation
    return sqrt(sd / 10);
}

在这个函数中,我们首先计算所有值的总和。然后,我们将总和除以值的总数以得到均值。接着,我们通过累加每个值与均值的平方差来计算方差。最后,我们通过取方差的平方根来计算标准差。

编写主函数以读取输入并输出结果

接下来,我们编写 main 函数,该函数从用户读取输入,将值存储在数组中,调用 SD 函数以获取标准差,然后显示结果。

int main()
{
    int i;
    float arr[10];
    cout << "Enter 10 elements: ";
    for(i = 0; i < 10; ++i)
        cin >> arr[i];
    cout << endl << "Standard Deviation = " << SD(arr); // calling function
    return 0;
}

在这个函数中,我们首先声明一个数组 arr 来存储用户的输入。然后提示用户逐个输入 10 个值。接着,我们调用 SD 函数并传入 arr 数组以获取标准差,并将其打印到控制台。

运行程序

现在,我们可以在终端中使用以下命令编译并运行程序:

g++ ~/project/main.cpp -o main && ./main

该命令将编译 ~/project 目录中的 main.cpp 文件,然后运行生成的可执行文件。

验证输出

让我们输入 4 5 7 8 9 6 3 2 1 7 作为输入,并检查是否得到了正确的输出。

Enter 10 elements: 4 5 7 8 9 6 3 2 1 7

Standard Deviation = 2.5219

我们可以看到标准差为 2.5219,这与我们手动计算时得到的结果一致。

完整代码

以下是 main.cpp 文件的完整代码供参考:

#include <iostream>
#include <cmath>
using namespace std;

float SD(float values[]) // function for calculating standadr deviation
{
    float sum = 0.0, mean, sd = 0.0;

    int i;
    for(i = 0; i < 10; ++i)
    {
        sum = sum + values[i]; // calculating sum
    }
    mean = sum/10; // finding mean.
    for(i = 0; i < 10; ++i)
        sd = sd + pow(values[i] - mean, 2); // calculating standard deviation
    return sqrt(sd / 10);
}

int main()
{
    int i;
    float arr[10];
    cout << "Enter 10 elements: ";
    for(i = 0; i < 10; ++i)
        cin >> arr[i];
    cout << endl << "Standard Deviation = " << SD(arr); // calling function
    return 0;
}

总结

在本实验中,我们学习了如何使用 C++ 程序中的函数计算一组数字的标准差。我们使用一个函数来计算方差(即与均值的平方差的平均值),然后取其平方根得到标准差。我们还学习了如何从用户读取输入,将其存储在数组中,然后调用函数以获取标准差。最后,我们编译并运行程序,验证了输出结果的正确性。