fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. typedef struct {
  5. int id;
  6. int height;
  7. int 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.  
  32. printf("id\tweight[kg]\n");
  33. for (i = 0; i < 5; i++) {
  34. printf("%d\t%d\t%d\n", data[i].id, data[i].height, data[i].weight);
  35. }
  36.  
  37. double sum = 0;
  38. for (i = 2; i < 5; i++) {
  39. sum += data[i].height;
  40. }
  41. double ave = sum / 3.0;
  42.  
  43. double variance_sum = 0;
  44. for (i = 2; i < 5; i++) {
  45. variance_sum += pow(data[i].height - ave, 2);
  46. }
  47. double std = sqrt(variance_sum / 3.0);
  48.  
  49. printf("平均値(ave): %.1f\n", ave);
  50. printf("標準偏差(std): %.1f\n", std);
  51.  
  52. return 0;
  53. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
id	weight[kg]
3	160	50
1	165	60
2	170	68
5	175	80
4	180	75
平均値(ave): 175.0
標準偏差(std): 4.1