#include <stdio.h>
typedef struct {
int id;
int weight;
int height;
} Body;
/* swap関数(構造体用) */
void swap(Body *a, Body *b) {
Body temp = *a;
*a = *b;
*b = temp;
}
int main(void) {
/* 構造体配列の初期化 */
Body data[5] = { {1, 65, 169},{2, 73, 170},{3, 59, 161},{4, 79, 175},{5, 55, 168} };
int i, j;
/* 身長の降順で並び替え */
for (i = 0; i < 5 - 1; i++) {
for (j = i + 1; j < 5; j++) {
if (data[i].height < data[j].height) {
swap(&data[i], &data[j]);
}
}
}
/* 結果の出力 */
for (i = 0; i < 5; i++) {
data[i].id,
data[i].weight,
data[i].height);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgaWQ7CiAgICBpbnQgd2VpZ2h0OwogICAgaW50IGhlaWdodDsKfSBCb2R5OwoKLyogc3dhcOmWouaVsO+8iOani+mAoOS9k+eUqO+8iSAqLwp2b2lkIHN3YXAoQm9keSAqYSwgQm9keSAqYikgewogICAgQm9keSB0ZW1wID0gKmE7CiAgICAqYSA9ICpiOwogICAgKmIgPSB0ZW1wOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICAvKiDmp4vpgKDkvZPphY3liJfjga7liJ3mnJ/ljJYgKi8KICAgIEJvZHkgZGF0YVs1XSA9IHsgezEsIDY1LCAxNjl9LHsyLCA3MywgMTcwfSx7MywgNTksIDE2MX0sezQsIDc5LCAxNzV9LHs1LCA1NSwgMTY4fSB9OwoKICAgIGludCBpLCBqOwoKICAgIC8qIOi6q+mVt+OBrumZjemghuOBp+S4puOBs+abv+OBiCAqLwogICAgZm9yIChpID0gMDsgaSA8IDUgLSAxOyBpKyspIHsKICAgICAgICBmb3IgKGogPSBpICsgMTsgaiA8IDU7IGorKykgewogICAgICAgICAgICBpZiAoZGF0YVtpXS5oZWlnaHQgPCBkYXRhW2pdLmhlaWdodCkgewogICAgICAgICAgICAgICAgc3dhcCgmZGF0YVtpXSwgJmRhdGFbal0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qIOe1kOaenOOBruWHuuWKmyAqLwogICAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykgewogICAgICAgIHByaW50ZigiJWQsICVkLCAlZFxuIiwKICAgICAgICAgICAgICAgZGF0YVtpXS5pZCwKICAgICAgICAgICAgICAgZGF0YVtpXS53ZWlnaHQsCiAgICAgICAgICAgICAgIGRhdGFbaV0uaGVpZ2h0KTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
4, 79, 175
2, 73, 170
1, 65, 169
5, 55, 168
3, 59, 161