fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define STUDENTS 5
  5. #define EXAMS 3
  6.  
  7. typedef struct{
  8. int id;
  9. int math;
  10. int english;
  11. int physics;
  12. double ave;
  13. double std;
  14. } Grades;
  15.  
  16. int main(void)
  17. {
  18. Grades data[] = {
  19. { 1, 65, 80, 95 },
  20. { 2, 70, 68, 75 },
  21. { 3, 60, 100, 83 },
  22. { 4, 100, 55, 74 },
  23. { 5, 90, 85, 100 }
  24. };
  25.  
  26. for(int i = 0; i < STUDENTS; i++){
  27. data[i].ave =
  28. (data[i].math + data[i].english + data[i].physics) / EXAMS;
  29.  
  30. data[i].std = sqrt(
  31. (
  32. (data[i].math - data[i].ave) * (data[i].math - data[i].ave) +
  33. (data[i].english - data[i].ave) * (data[i].english - data[i].ave) +
  34. (data[i].physics - data[i].ave) * (data[i].physics - data[i].ave)
  35. ) / EXAMS
  36. );
  37. printf("id %d : %.1f, %.1f\n",data[i].id, data[i].ave, data[i].std);
  38. }
  39.  
  40. return 0;
  41. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
id 1 : 80.0, 12.2
id 2 : 71.0, 2.9
id 3 : 81.0, 16.4
id 4 : 76.0, 18.4
id 5 : 91.0, 6.3