#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[5] = {(double)a, (double)b, (double)c, (double)d, (double)e};
    double varArray[5];
    double varSum = 0;

	double sum=0;
	double average=0;
	double stdDev=0;
	int i;
	//calculating sum
    for ( i = 0; i < 5; i++)
    {
        sum = sum + argArray[i];
    }
	//calculating average
    average = sum/5;
	//calculating std. deviation
    for ( i = 0; i < 5; i++)
    {
        varArray[i] = pow(argArray[i] - average, 2);
        varSum = varSum + varArray[i];
    }
    stdDev = sqrt(varSum/5);
    //initializing the struct object to be returned (stats.attribute) is used to read and not write
    struct statStruct stats = {sum,average,stdDev}; //at it's herat THIS IS WHAT YOU WERE MISSING
    return stats;
}