#include <stdio.h>
#include <math.h>
typedef struct {
int id;
int height;
int weight;
} Body;
int main(void) {
Body data[5]={
{1,165,60},
{2,170,60},
{3,160,50},
{4,180,75},
{5,175,80}
};
int n=sizeof(data)/sizeof(data[0]);
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
if(data[j].height>data[j+1].height){
Body tmp = data[j];
data[j]=data[j+1];
data[j+1]=tmp;
}
}
}
printf("ID height(cm) weight(kg)\n"); for(int i=0; i<n;i++){
printf("%2d %11d %13d\n",data
[i
].
id,data
[i
].
height,data
[i
].
weight); }
double sum = 0.0;
for(int i=n-3;i<n;i++){
sum+=data[i].height;
}
double ave=sum/3.0;
double sum_sq=0.0;
for(int i=n-3;i<n;i++){
double diff=data[i].height-ave;
sum_sq+=diff*diff;
}
double std
=sqrt(sum_sq
/3.0);
printf("\n上位3名の身長平均:%.1f cm\n",ave
); printf("上位3名の身長標準偏差:%.1f cm\n",std
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgaWQ7CiAgICBpbnQgaGVpZ2h0OwogICAgaW50IHdlaWdodDsKfSBCb2R5OwoKaW50IG1haW4odm9pZCkgewogICAgQm9keSBkYXRhWzVdPXsKICAgICAgICB7MSwxNjUsNjB9LAogICAgICAgIHsyLDE3MCw2MH0sCiAgICAgICAgezMsMTYwLDUwfSwKICAgICAgICB7NCwxODAsNzV9LAogICAgICAgIHs1LDE3NSw4MH0KICAgIH07CiAgICBpbnQgbj1zaXplb2YoZGF0YSkvc2l6ZW9mKGRhdGFbMF0pOwoKICAgIGZvcihpbnQgaT0wO2k8bi0xO2krKyl7CiAgICAgICAgZm9yKGludCBqPTA7ajxuLTEtaTtqKyspewogICAgICAgICAgICBpZihkYXRhW2pdLmhlaWdodD5kYXRhW2orMV0uaGVpZ2h0KXsKICAgICAgICAgICAgICAgIEJvZHkgdG1wID0gZGF0YVtqXTsKICAgICAgICAgICAgICAgIGRhdGFbal09ZGF0YVtqKzFdOwogICAgICAgICAgICAgICAgZGF0YVtqKzFdPXRtcDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHByaW50ZigiSUQgICBoZWlnaHQoY20pICAgd2VpZ2h0KGtnKVxuIik7CiAgICBmb3IoaW50IGk9MDsgaTxuO2krKyl7CiAgICAgICAgcHJpbnRmKCIlMmQgJTExZCAlMTNkXG4iLGRhdGFbaV0uaWQsZGF0YVtpXS5oZWlnaHQsZGF0YVtpXS53ZWlnaHQpOwogICAgfQogICAgZG91YmxlIHN1bSA9IDAuMDsKICAgIGZvcihpbnQgaT1uLTM7aTxuO2krKyl7CiAgICAgICAgc3VtKz1kYXRhW2ldLmhlaWdodDsKICAgIH0KICAgIGRvdWJsZSBhdmU9c3VtLzMuMDsKCiAgICBkb3VibGUgc3VtX3NxPTAuMDsKICAgIGZvcihpbnQgaT1uLTM7aTxuO2krKyl7CiAgICAgICAgZG91YmxlIGRpZmY9ZGF0YVtpXS5oZWlnaHQtYXZlOwogICAgICAgIHN1bV9zcSs9ZGlmZipkaWZmOwogICAgfQogICAgZG91YmxlIHN0ZD1zcXJ0KHN1bV9zcS8zLjApOwoKICAgIHByaW50ZigiXG7kuIrkvY0z5ZCN44Gu6Lqr6ZW35bmz5Z2HOiUuMWYgY21cbiIsYXZlKTsKICAgIHByaW50Zigi5LiK5L2NM+WQjeOBrui6q+mVt+aomea6luWBj+W3rjolLjFmIGNtXG4iLHN0ZCk7CgogICAgcmV0dXJuIDA7Cn0=