#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 body[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 (body[i].height < body[j].height) {
swap(&body[i], &body[j]);
}
}
}
/* 表示 */
for (i = 0; i < 5; i++) {
body[i].id,
body[i].weight,
body[i].height);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgaWQ7CiAgICBpbnQgd2VpZ2h0OwogICAgaW50IGhlaWdodDsKfSBCb2R5OwoKLyog5qeL6YCg5L2T55SoIHN3YXAg6Zai5pWwICovCnZvaWQgc3dhcChCb2R5ICphLCBCb2R5ICpiKSB7CiAgICBCb2R5IHRlbXAgPSAqYTsKICAgICphID0gKmI7CiAgICAqYiA9IHRlbXA7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIEJvZHkgYm9keVs1XSA9IHsKICAgICAgICB7MSwgNjUsIDE2OX0sCiAgICAgICAgezIsIDczLCAxNzB9LAogICAgICAgIHszLCA1OSwgMTYxfSwKICAgICAgICB7NCwgNzksIDE3NX0sCiAgICAgICAgezUsIDU1LCAxNjh9CiAgICB9OwoKICAgIGludCBpLCBqOwoKICAgIC8qIOi6q+mVt+OBrumAhumghu+8iOmZjemghu+8ieOBq+OCveODvOODiCAqLwogICAgZm9yIChpID0gMDsgaSA8IDUgLSAxOyBpKyspIHsKICAgICAgICBmb3IgKGogPSBpICsgMTsgaiA8IDU7IGorKykgewogICAgICAgICAgICBpZiAoYm9keVtpXS5oZWlnaHQgPCBib2R5W2pdLmhlaWdodCkgewogICAgICAgICAgICAgICAgc3dhcCgmYm9keVtpXSwgJmJvZHlbal0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qIOihqOekuiAqLwogICAgZm9yIChpID0gMDsgaSA8IDU7IGkrKykgewogICAgICAgIHByaW50ZigiJWQsICVkLCAlZFxuIiwKICAgICAgICAgICAgICAgYm9keVtpXS5pZCwKICAgICAgICAgICAgICAgYm9keVtpXS53ZWlnaHQsCiAgICAgICAgICAgICAgIGJvZHlbaV0uaGVpZ2h0KTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
4, 79, 175
2, 73, 170
1, 65, 169
5, 55, 168
3, 59, 161