fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. #define N 5
  5.  
  6. typedef struct {
  7. int id;
  8. int height;
  9. int weight;
  10. } Body;
  11.  
  12. int main(void) {
  13. Body data[N] = {
  14. {1, 165, 60},
  15. {2, 170, 68},
  16. {3, 160, 50},
  17. {4, 180, 75},
  18. {5, 175, 80}
  19. };
  20.  
  21. int i, j;
  22. Body smp;
  23. double ave = 0.0, std = 0.0, diff = 0.0;
  24.  
  25. for (i = 0; i < N - 1; i++) {
  26. for (j = 0; j < N - 1 - i; j++) {
  27. if (data[j].height > data[j + 1].height) {
  28. smp = data[j];
  29. data[j] = data[j + 1];
  30. data[j + 1] = smp;
  31. }
  32. }
  33. }
  34.  
  35. printf("ID Height Weight\n");
  36. for (i = 0; i < N; i++) {
  37. printf("%d %4d %5d\n",
  38. data[i].id, data[i].height, data[i].weight);
  39. }
  40.  
  41. for (i = N - 3; i < N; i++) {
  42. ave += data[i].height;
  43. }
  44. ave /= 3.0;
  45.  
  46. for (i = N - 3; i < N; i++) {
  47. diff = data[i].height - ave;
  48. std += diff * diff;
  49. }
  50. std = sqrt(std / 3.0);
  51.  
  52. printf("Height Average = %.1f\n", ave);
  53. printf("Height Std = %.1f\n", std);
  54.  
  55. return 0;
  56. }
  57.  
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
ID  Height  Weight
3   160     50
1   165     60
2   170     68
5   175     80
4   180     75
Height Average = 175.0
Height Std = 4.1