fork download
  1. #include <stdio.h>
  2. typedef struct {
  3. int id;
  4. int hei;
  5. int wei;
  6. }Body;
  7. int main(void) {
  8. Body data[5]={
  9. {1,165,60},
  10. {2,170,68},
  11. {3,160,50},
  12. {4,180,75},
  13. {5,175,80}
  14. };
  15. for(int i=0;i<4;i++){
  16. for(int j=0;j<4;j++){
  17. if(data[j].hei>data[j+1].hei){
  18. Body temp = data[j];
  19. data[j] = data[j+1];
  20. data[j+1] = temp;
  21. }
  22. }
  23. }
  24. printf("身長低い順\n");
  25. for(int i=0;i<5;i++){
  26. printf("id:%d, height:%d, weight:%d\n",data[i].id,data[i].hei,data[i].wei);
  27. }
  28.  
  29. double sum = 0.0;
  30. for(int i=2;i<5;i++){
  31. sum += data[i].hei;
  32. }
  33. double ave = sum/3;
  34. double sum2=0.0;
  35. for(int i=2;i<5;i++){
  36. sum2+= (data[i].hei - ave)*(data[i].hei - ave);
  37. }
  38. double std = sqrt(sum2/3);
  39. printf("上位3名の平均:%lf\n",ave);
  40. printf("上位3名の標準偏差:%lf\n",std);
  41. return 0;
  42.  
  43. }
  44.  
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
身長低い順
id:3, height:160, weight:50
id:1, height:165, weight:60
id:2, height:170, weight:68
id:5, height:175, weight:80
id:4, height:180, weight:75
上位3名の平均:175.000000
上位3名の標準偏差:4.082483