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() {
  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. for (int i = 0; i < 4; i++) {
  20. for (int j = 0; j < 4 - i; j++) {
  21. if (data[j].height > data[j + 1].height) {
  22. Body temp = data[j];
  23. data[j] = data[j + 1];
  24. data[j + 1] = temp;
  25. }
  26. }
  27. }
  28.  
  29. printf("身長昇順:\n");
  30. for (int i = 0; i < 5; i++) {
  31. printf("ID: %d, Height: %.1f cm, Weight: %.1f kg\n", data[i].id, data[i].height, data[i].weight);
  32. }
  33.  
  34. double sum = 0.0;
  35. for (int i = 2; i < 5; i++) {
  36. sum += data[i].height;
  37. }
  38. double ave = sum / 3;
  39.  
  40. double variance = 0.0;
  41. for (int i = 2; i < 5; i++) {
  42. variance += pow(data[i].height - ave, 2);
  43. }
  44. double std = sqrt(variance / 3);
  45.  
  46. printf("\n上位3名の身長平均: %.1f cm\n", ave);
  47. printf("標準偏差: %.1f cm\n", std);
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
身長昇順:
ID: 3, Height: 160.0 cm, Weight: 50.0 kg
ID: 1, Height: 165.0 cm, Weight: 60.0 kg
ID: 2, Height: 170.0 cm, Weight: 68.0 kg
ID: 5, Height: 175.0 cm, Weight: 80.0 kg
ID: 4, Height: 180.0 cm, Weight: 75.0 kg

上位3名の身長平均: 175.0 cm
標準偏差: 4.1 cm