#include <stdio.h>
#include <math.h>
typedef struct {
int id;
double height;
double weight;
}list;
int main(void) {
list data[] = {
{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) {
list tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
}
}
for (int i = 0; i < n; i++) {
printf("id:%d height:%lf weight:%lf\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 var = 0.0;
for(int i = n - 3; i < n; i++) {
var
+= pow(data
[i
].
height - ave
, 2); }
double std
= sqrt(var
/ 3.0);
printf("\n上位3名の身長平均値 ave = %lf cm\n", ave
); printf("上位3名の身長標準偏差 std = %lf cm\n", std
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+ICAgCnR5cGVkZWYgc3RydWN0IHsKICAgIGludCBpZDsKICAgIGRvdWJsZSBoZWlnaHQ7CiAgICBkb3VibGUgd2VpZ2h0Owp9bGlzdDsKCmludCBtYWluKHZvaWQpIHsKICAgIGxpc3QgZGF0YVtdID0gewogICAgICAgIHsxLCAxNjUsIDYwfSwKICAgICAgICB7MiwgMTcwLCA2OH0sCiAgICAgICAgezMsIDE2MCwgNTB9LAogICAgICAgIHs0LCAxODAsIDc1fSwKICAgICAgICB7NSwgMTc1LCA4MH0KICAgIH07CiAgICBpbnQgbiA9IDU7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuIC0gMTsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IGkgKyAxOyBqIDwgbjsgaisrKSB7CiAgICAgICAgICAgIGlmIChkYXRhW2ldLmhlaWdodCA+IGRhdGFbal0uaGVpZ2h0KSB7CiAgICAgICAgICAgICAgICBsaXN0IHRtcCA9IGRhdGFbaV07CiAgICAgICAgICAgICAgICBkYXRhW2ldID0gZGF0YVtqXTsKICAgICAgICAgICAgICAgIGRhdGFbal0gPSB0bXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcHJpbnRmKCLmlbTliJflvozjga7jg4fjg7zjgr/vvIjouqvplbfmmIfpoIbvvIk6XG4iKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCJpZDolZCAgaGVpZ2h0OiVsZiAgd2VpZ2h0OiVsZlxuIiwgZGF0YVtpXS5pZCwgZGF0YVtpXS5oZWlnaHQsIGRhdGFbaV0ud2VpZ2h0KTsKICAgIH0KCiAgICBkb3VibGUgc3VtID0gMC4wOwogICAgZm9yIChpbnQgaSA9IG4gLSAzOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgc3VtICs9IGRhdGFbaV0uaGVpZ2h0OwogICAgfQogICAgZG91YmxlIGF2ZSA9IHN1bSAvIDMuMDsKCiAgICBkb3VibGUgdmFyID0gMC4wOwogICAgZm9yKGludCBpID0gbiAtIDM7IGkgPCBuOyBpKyspIHsKICAgICAgICB2YXIgKz0gcG93KGRhdGFbaV0uaGVpZ2h0IC0gYXZlLCAyKTsKICAgIH0KICAgIGRvdWJsZSBzdGQgPSBzcXJ0KHZhciAvIDMuMCk7IAoKICAgIHByaW50ZigiXG7kuIrkvY0z5ZCN44Gu6Lqr6ZW35bmz5Z2H5YCkIGF2ZSA9ICVsZiBjbVxuIiwgYXZlKTsKICAgIHByaW50Zigi5LiK5L2NM+WQjeOBrui6q+mVt+aomea6luWBj+W3riBzdGQgPSAlbGYgY21cbiIsIHN0ZCk7CgogICAgcmV0dXJuIDA7Cn0K