fork(1) 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. Body data[5]={{ 1, 165, 60},
  12. { 2, 170, 68},
  13. { 3, 160, 50},
  14. { 4, 180, 75},
  15. { 5, 175, 80}};
  16.  
  17. for(int i=0; i<4; i++){
  18. for(int j=i+1; j<5; j++){
  19. if(data[i].height > data[j].height){
  20. Body tmp=data[i];
  21. data[i]=data[j];
  22. data[j]=tmp;
  23. }
  24. }
  25. }
  26.  
  27. printf("身長の低い順\nid height weight\n");
  28. for (int i=0; i<5; i++){
  29. printf("%d %.0f %.0f\n", data[i].id, data[i].height, data[i].weight);
  30. }
  31.  
  32. double sum=0.0;
  33. for(int i=2; i<5; i++) sum += data[i].height;
  34. double ave=sum/3.0;
  35.  
  36. double var=0.0;
  37. for(int i=2; i<5; i++) var += pow(data[i].height - ave, 2);
  38. double std=sqrt(var / 3.0);
  39.  
  40. printf("身長が高い3名の\n身長の平均値:%.1fcm\n",ave);
  41. printf("身長の標準偏差:%.1fcm\n",std);
  42.  
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0s 5296KB
stdin
Standard input is empty
stdout
身長の低い順
id height weight
3  160      50
1  165      60
2  170      68
5  175      80
4  180      75
身長が高い3名の
身長の平均値:175.0cm
身長の標準偏差:4.1cm