#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+CgovKiDmp4vpgKDkvZPjga7lrprnvqkgKi8KdHlwZWRlZiBzdHJ1Y3QgewogICAgaW50IGlkOwogICAgaW50IHdlaWdodDsKICAgIGludCBoZWlnaHQ7Cn0gQm9keTsKCi8qIHN3YXDplqLmlbDvvIjmp4vpgKDkvZPnlKjvvIkgKi8Kdm9pZCBzd2FwKEJvZHkgKmEsIEJvZHkgKmIpIHsKICAgIEJvZHkgdGVtcCA9ICphOwogICAgKmEgPSAqYjsKICAgICpiID0gdGVtcDsKfQoKaW50IG1haW4odm9pZCkgewogICAgLyog5qeL6YCg5L2T6YWN5YiX44Gu5Yid5pyf5YyWICovCiAgICBCb2R5IGRhdGFbNV0gPSB7CiAgICAgICAgezEsIDY1LCAxNjl9LAogICAgICAgIHsyLCA3MywgMTcwfSwKICAgICAgICB7MywgNTksIDE2MX0sCiAgICAgICAgezQsIDc5LCAxNzV9LAogICAgICAgIHs1LCA1NSwgMTY4fQogICAgfTsKCiAgICBpbnQgaSwgajsKCiAgICAvKiDouqvplbfjga7pmY3poIbjgafkuKbjgbPmm7/jgYggKi8KICAgIGZvciAoaSA9IDA7IGkgPCA1IC0gMTsgaSsrKSB7CiAgICAgICAgZm9yIChqID0gaSArIDE7IGogPCA1OyBqKyspIHsKICAgICAgICAgICAgaWYgKGRhdGFbaV0uaGVpZ2h0IDwgZGF0YVtqXS5oZWlnaHQpIHsKICAgICAgICAgICAgICAgIHN3YXAoJmRhdGFbaV0sICZkYXRhW2pdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvKiDntZDmnpzjga7lh7rlipsgKi8KICAgIGZvciAoaSA9IDA7IGkgPCA1OyBpKyspIHsKICAgICAgICBwcmludGYoIiVkLCAlZCwgJWRcbiIsCiAgICAgICAgICAgICAgIGRhdGFbaV0uaWQsCiAgICAgICAgICAgICAgIGRhdGFbaV0ud2VpZ2h0LAogICAgICAgICAgICAgICBkYXRhW2ldLmhlaWdodCk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K
4, 79, 175
2, 73, 170
1, 65, 169
5, 55, 168
3, 59, 161