fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. typedef struct {
  5. int id;
  6. double height;
  7. double weight;
  8. } Body;
  9.  
  10. int main(void) {
  11. Body data[5] = {
  12. {1, 165, 60},
  13. {2, 170, 68},
  14. {3, 160, 50},
  15. {4, 180, 75},
  16. {5, 175, 80}
  17. };
  18.  
  19. int i, j;
  20. Body temp;
  21.  
  22. for (i = 0; i < 5 - 1; i++) {
  23. for (j = 0; j < 5 - 1 - i; j++) {
  24. if (data[j].height > data[j + 1].height) {
  25. temp = data[j];
  26. data[j] = data[j + 1];
  27. data[j + 1] = temp;
  28. }
  29. }
  30. }
  31. printf("ID Height Weight\n");
  32. for (i = 0; i < 5; i++) {
  33. printf("%2d %6.1f %6.1f\n", data[i].id, data[i].height, data[i].weight);
  34. }
  35. double ave = 0.0, std = 0.0;
  36. for (i = 2; i < 5; i++) {
  37. ave += data[i].height;
  38. }
  39. ave /= 3.0;
  40.  
  41. for (i = 2; i < 5; i++) {
  42. std += pow(data[i].height - ave, 2);
  43. }
  44. std = sqrt(std / 3.0);
  45.  
  46. printf("身長が高い3名の平均値(ave): %.1f cm\n", ave);
  47. printf("身長が高い3名の標準偏差(std): %.1f cm\n", std);
  48.  
  49. return 0;
  50. }
  51.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
ID  Height  Weight
 3   160.0    50.0
 1   165.0    60.0
 2   170.0    68.0
 5   175.0    80.0
 4   180.0    75.0
身長が高い3名の平均値(ave): 175.0 cm
身長が高い3名の標準偏差(std): 4.1 cm