fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. typedef struct{
  5. int id;
  6. int he;
  7. int we;
  8. }body;
  9.  
  10. int main(void) {
  11.  
  12. body data[]={{1,165,60},{2,170,68},{3,160,50},{4,180,75},{5,175,80}};
  13.  
  14.  
  15. for(int i=0;i<5;i++) {
  16. for(int j=i+1;j<5;j++) {
  17. if(data[i].he > data[j].he) {
  18. body tmp = data[i];
  19. data[i] = data[j];
  20. data[j] = tmp;
  21. }
  22. }
  23. }
  24.  
  25. for(int i=0;i<5;i++){
  26. printf("id %d: %dcm %dkg\n",data[i].id,data[i].he,data[i].we);
  27. }
  28. printf("\n下から3人の平均と標準偏差\n");
  29.  
  30. double ave;
  31. ave=(data[2].he+data[3].he+data[4].he)/3;
  32. double std;
  33. std=sqrt( ((data[2].he-ave)*(data[2].he-ave)+(data[3].he-ave)*(data[3].he-ave)+(data[4].he-ave)*(data[4].he-ave) )/3 );
  34. printf("ave:%.1f\nstd:%.1f",ave,std);
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
id 3: 160cm 50kg
id 1: 165cm 60kg
id 2: 170cm 68kg
id 5: 175cm 80kg
id 4: 180cm 75kg

下から3人の平均と標準偏差
ave:175.0
std:4.1