#include <stdio.h>
#include <math.h>
typedef struct {
int id;
double height;
double weight;
} Body;
int main(void) {
Body data[5] = {
{1, 165, 60},
{2, 170, 68},
{3, 160, 50},
{4, 180, 75},
{5, 175, 80}
};
int n = 5;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (data[i].height > data[j].height) {
Body temp = data[i];
data[i] = data[j];
data[j] = temp;
}
}
}
for (int i = 0; i < n; i++) {
printf("id:%d height:%.0f weight:%.0f\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 v = 0.0;
for (int i = n - 3; i < n; i++) {
v
+= pow(data
[i
].
height - ave
, 2); }
double std
= sqrt(v
/ 3.0);
printf("\n下から3名(身長が高い3名)の平均身長: %.1f cm\n", ave
); printf("標準偏差: %.2f cm\n", std
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgaWQ7CiAgICBkb3VibGUgaGVpZ2h0OwogICAgZG91YmxlIHdlaWdodDsKfSBCb2R5OwoKaW50IG1haW4odm9pZCkgewogICAgQm9keSBkYXRhWzVdID0gewogICAgICAgIHsxLCAxNjUsIDYwfSwKICAgICAgICB7MiwgMTcwLCA2OH0sCiAgICAgICAgezMsIDE2MCwgNTB9LAogICAgICAgIHs0LCAxODAsIDc1fSwKICAgICAgICB7NSwgMTc1LCA4MH0KICAgIH07CgogICAgaW50IG4gPSA1OwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IG47IGorKykgewogICAgICAgICAgICBpZiAoZGF0YVtpXS5oZWlnaHQgPiBkYXRhW2pdLmhlaWdodCkgewogICAgICAgICAgICAgICAgQm9keSB0ZW1wID0gZGF0YVtpXTsKICAgICAgICAgICAgICAgIGRhdGFbaV0gPSBkYXRhW2pdOwogICAgICAgICAgICAgICAgZGF0YVtqXSA9IHRlbXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHJpbnRmKCLouqvplbfjga7kvY7jgYTpoIbjgavkuKbjgbPmm7/jgYjjgZ/jg4fjg7zjgr86XG4iKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCJpZDolZCBoZWlnaHQ6JS4wZiB3ZWlnaHQ6JS4wZlxuIiwgZGF0YVtpXS5pZCwgZGF0YVtpXS5oZWlnaHQsIGRhdGFbaV0ud2VpZ2h0KTsKICAgIH0KICAgIGRvdWJsZSBzdW0gPSAwLjA7CiAgICBmb3IgKGludCBpID0gbiAtIDM7IGkgPCBuOyBpKyspIHsKICAgICAgICBzdW0gKz0gZGF0YVtpXS5oZWlnaHQ7CiAgICB9CiAgICBkb3VibGUgYXZlID0gc3VtIC8gMy4wOwoKICAgIGRvdWJsZSB2ID0gMC4wOwogICAgZm9yIChpbnQgaSA9IG4gLSAzOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgdiArPSBwb3coZGF0YVtpXS5oZWlnaHQgLSBhdmUsIDIpOwogICAgfQogICAgZG91YmxlIHN0ZCA9IHNxcnQodiAvIDMuMCk7CgogICAgcHJpbnRmKCJcbuS4i+OBi+OCie+8k+WQje+8iOi6q+mVt+OBjOmrmOOBhO+8k+WQje+8ieOBruW5s+Wdh+i6q+mVtzogJS4xZiBjbVxuIiwgYXZlKTsKICAgIHByaW50Zigi5qiZ5rqW5YGP5beuOiAlLjJmIGNtXG4iLCBzdGQpOwogICAgcmV0dXJuIDA7Cn0KCgogICAg