#include <stdio.h>
#include <math.h>
typedef struct {
int id;
double height;
double weight;
} Body;
int main(void) {
Body data[5] = {
{1, 165.0, 60.0},
{2, 170.0, 68.0},
{3, 160.0, 50.0},
{4, 180.0, 75.0},
{5, 175.0, 80.0}
};
int n = 5;
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 temp = data[j];
data[j] = data[j + 1];
data[j + 1] = 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 = 2; i < 5; i++) {
sum += data[i].height;
}
double ave = sum / 3.0;
double var_sum = 0.0;
for (int i = 2; i < 5; i++) {
var_sum += (data[i].height - ave) * (data[i].height - ave);
}
double std
= sqrt(var_sum
/ 3.0);
printf("\n上位3名の平均値 ave = %.1f\n", ave
); printf("上位3名の標準偏差 std = %.1f\n", std
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgaWQ7CiAgICBkb3VibGUgaGVpZ2h0OwogICAgZG91YmxlIHdlaWdodDsKfSBCb2R5OwoKaW50IG1haW4odm9pZCkgewogICAgQm9keSBkYXRhWzVdID0gewogICAgICAgIHsxLCAxNjUuMCwgNjAuMH0sCiAgICAgICAgezIsIDE3MC4wLCA2OC4wfSwKICAgICAgICB7MywgMTYwLjAsIDUwLjB9LAogICAgICAgIHs0LCAxODAuMCwgNzUuMH0sCiAgICAgICAgezUsIDE3NS4wLCA4MC4wfQogICAgfTsKICAgIGludCBuID0gNTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG4gLSAxOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG4gLSAxIC0gaTsgaisrKSB7CiAgICAgICAgICAgIGlmIChkYXRhW2pdLmhlaWdodCA+IGRhdGFbaiArIDFdLmhlaWdodCkgewogICAgICAgICAgICAgICAgQm9keSB0ZW1wID0gZGF0YVtqXTsKICAgICAgICAgICAgICAgIGRhdGFbal0gPSBkYXRhW2ogKyAxXTsKICAgICAgICAgICAgICAgIGRhdGFbaiArIDFdID0gdGVtcDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwcmludGYoIui6q+mVt+OBruS9juOBhOmghuOBq+aVtOWIl1xuIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHByaW50ZigiaWQ6JWQsIGhlaWdodDolLjBmLCB3ZWlnaHQ6JS4wZlxuIiwgZGF0YVtpXS5pZCwgZGF0YVtpXS5oZWlnaHQsIGRhdGFbaV0ud2VpZ2h0KTsKICAgIH0KCiAgICBkb3VibGUgc3VtID0gMC4wOwogICAgZm9yIChpbnQgaSA9IDI7IGkgPCA1OyBpKyspIHsKICAgICAgICBzdW0gKz0gZGF0YVtpXS5oZWlnaHQ7CiAgICB9CiAgICBkb3VibGUgYXZlID0gc3VtIC8gMy4wOwoKICAgIGRvdWJsZSB2YXJfc3VtID0gMC4wOwogICAgZm9yIChpbnQgaSA9IDI7IGkgPCA1OyBpKyspIHsKICAgICAgICB2YXJfc3VtICs9IChkYXRhW2ldLmhlaWdodCAtIGF2ZSkgKiAoZGF0YVtpXS5oZWlnaHQgLSBhdmUpOwogICAgfQogICAgZG91YmxlIHN0ZCA9IHNxcnQodmFyX3N1bSAvIDMuMCk7CgogICAgcHJpbnRmKCJcbuS4iuS9jTPlkI3jga7lubPlnYflgKQgYXZlID0gJS4xZlxuIiwgYXZlKTsKICAgIHByaW50Zigi5LiK5L2NM+WQjeOBruaomea6luWBj+W3riBzdGQgPSAlLjFmXG4iLCBzdGQpOwoKICAgIHJldHVybiAwOwp9Cg==
身長の低い順に整列
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名の平均値 ave = 175.0
上位3名の標準偏差 std = 4.1