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.  
  12. Body data[5] = {
  13. {1,165,60},
  14. {2,170,68},
  15. {3,160,50},
  16. {4,180,75},
  17. {5,175,80}
  18. };
  19.  
  20. Body temp;
  21. double avg = 0,std = 0;
  22. int i,j;
  23. //並び替え
  24. for(i = 0;i < 4; i ++){
  25. for(j = 0;j < 4 - i;j ++){
  26. if(data[j].height > data[j + 1].height){
  27. temp = data[j];
  28. data[j] = data[j + 1];
  29. data[j + 1] = temp;
  30. }
  31. }
  32. }
  33. //並び替え表示
  34. for(i = 0;i < 5;i ++){
  35. printf("%d,%lf,%lf\n",data[i].id,data[i].height,data[i].weight);
  36. }
  37. //平均
  38. for(i = 2;i < 5;i ++){
  39. avg += data[i].height;
  40. }
  41. avg = avg / 3;
  42. //標準偏差
  43. for(i = 2;i < 5;i ++){
  44. std += (data[i].height - avg) * (data[i].height);
  45. }
  46. std = sqrt(std / 3);
  47.  
  48. printf("平均:%lf\n",avg);
  49. printf("標準偏差:%lf\n",std);
  50.  
  51. return 0;
  52. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
3,160.000000,50.000000
1,165.000000,60.000000
2,170.000000,68.000000
5,175.000000,80.000000
4,180.000000,75.000000
平均:175.000000
標準偏差:4.082483