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