fork download
  1. #include "math.h"
  2. #include "stdio.h"
  3.  
  4. struct statStruct
  5. {
  6. double sum;
  7. double average;
  8. double stdDev;
  9. };
  10.  
  11. struct statStruct statsCalc(int a, int b, int c, int d, int e);
  12.  
  13. int main(void)
  14. {
  15. struct statStruct stats = statsCalc(3, 6, 9, 6, 6);
  16. printf("Sum of inputs: %f\n Average of inputs: %f\n Standard deviation of inputs: %f\n", stats.sum, stats.average, stats.stdDev);
  17. }
  18.  
  19. struct statStruct statsCalc(int a, int b, int c, int d, int e)
  20. {
  21. double argArray[5] = {(double)a, (double)b, (double)c, (double)d, (double)e};
  22. double varArray[5];
  23. double varSum = 0;
  24.  
  25. double sum=0;
  26. double average=0;
  27. double stdDev=0;
  28. int i;
  29. //calculating sum
  30. for ( i = 0; i < 5; i++)
  31. {
  32. sum = sum + argArray[i];
  33. }
  34. //calculating average
  35. average = sum/5;
  36. //calculating std. deviation
  37. for ( i = 0; i < 5; i++)
  38. {
  39. varArray[i] = pow(argArray[i] - average, 2);
  40. varSum = varSum + varArray[i];
  41. }
  42. stdDev = sqrt(varSum/5);
  43. //initializing the struct object to be returned (stats.attribute) is used to read and not write
  44. struct statStruct stats = {sum,average,stdDev}; //at it's herat THIS IS WHAT YOU WERE MISSING
  45. return stats;
  46. }
Runtime error #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
Sum of inputs: 30.000000
 Average of inputs: 6.000000
 Standard deviation of inputs: 1.897367