#include "math.h"
#include "stdio.h"
struct statStruct
{
double sum;
double average;
double stdDev;
};
struct statStruct statsCalc(int a, int b, int c, int d, int e);
int main(void)
{
struct statStruct stats = statsCalc(3, 6, 9, 6, 6);
printf("Sum of inputs: %f\n Average of inputs: %f\n Standard deviation of inputs: %f\n", stats.
sum, stats.
average, stats.
stdDev); }
struct statStruct statsCalc(int a, int b, int c, int d, int e)
{
double argArray[] = {(double)a, (double)b, (double)c, (double)d, (double)e};
double varArray[5];
double varSum = 0;
int i;
struct statStruct stats;
stats.sum = 0;
for (i = 0; i < 5; i++)
{
stats.sum = stats.sum + argArray[i];
}
stats.average = (stats.sum)/5;
for (i = 0; i < 5; i++)
{
varArray
[i
] = pow(argArray
[i
] - stats.
average, 2); varSum = varSum + varArray[i];
}
stats.
stdDev = sqrt(varSum
/5); return stats;
}
I2luY2x1ZGUgIm1hdGguaCIKI2luY2x1ZGUgInN0ZGlvLmgiCgpzdHJ1Y3Qgc3RhdFN0cnVjdAp7CiAgICBkb3VibGUgc3VtOwogICAgZG91YmxlIGF2ZXJhZ2U7CiAgICBkb3VibGUgc3RkRGV2OyAgCn07CgpzdHJ1Y3Qgc3RhdFN0cnVjdCBzdGF0c0NhbGMoaW50IGEsIGludCBiLCBpbnQgYywgaW50IGQsIGludCBlKTsKCmludCBtYWluKHZvaWQpCnsgICAgICAgCiAgICBzdHJ1Y3Qgc3RhdFN0cnVjdCBzdGF0cyA9IHN0YXRzQ2FsYygzLCA2LCA5LCA2LCA2KTsKICAgIHByaW50ZigiU3VtIG9mIGlucHV0czogJWZcbiBBdmVyYWdlIG9mIGlucHV0czogJWZcbiBTdGFuZGFyZCBkZXZpYXRpb24gb2YgaW5wdXRzOiAlZlxuIiwgc3RhdHMuc3VtLCBzdGF0cy5hdmVyYWdlLCBzdGF0cy5zdGREZXYpOwp9CgpzdHJ1Y3Qgc3RhdFN0cnVjdCBzdGF0c0NhbGMoaW50IGEsIGludCBiLCBpbnQgYywgaW50IGQsIGludCBlKQp7CiAgICBkb3VibGUgYXJnQXJyYXlbXSA9IHsoZG91YmxlKWEsIChkb3VibGUpYiwgKGRvdWJsZSljLCAoZG91YmxlKWQsIChkb3VibGUpZX07CiAgICBkb3VibGUgdmFyQXJyYXlbNV07CiAgICBkb3VibGUgdmFyU3VtID0gMDsKCiAgICBpbnQgaTsKICAgIHN0cnVjdCBzdGF0U3RydWN0IHN0YXRzOwogICAgCiAgICBwcmludGYoIiVkIixhcmdBcnJheVswXSk7CiAgICBzdGF0cy5zdW0gPSAwOwogICAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykKICAgIHsKICAgICAgICBzdGF0cy5zdW0gPSBzdGF0cy5zdW0gKyBhcmdBcnJheVtpXTsKICAgIH0KCiAgICBzdGF0cy5hdmVyYWdlID0gKHN0YXRzLnN1bSkvNTsKCiAgICBmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQogICAgewogICAgICAgIHZhckFycmF5W2ldID0gcG93KGFyZ0FycmF5W2ldIC0gc3RhdHMuYXZlcmFnZSwgMik7CiAgICAgICAgdmFyU3VtID0gdmFyU3VtICsgdmFyQXJyYXlbaV07CiAgICB9CgogICAgc3RhdHMuc3RkRGV2ID0gc3FydCh2YXJTdW0vNSk7CiAgICByZXR1cm4gc3RhdHM7Cn0=