#include <stdio.h>
struct Body {
int id;
int weight;
int height;
};
void swap(struct Body *x, struct Body *y)
{
struct Body temp;
temp = *x;
*x = *y;
*y = temp;
}
int main(void)
{
int i, j;
struct Body a[] = {
{1, 65, 169},
{2, 73, 170},
{3, 59, 161},
{4, 79, 175},
{5, 55, 168}
};
int n = sizeof(a) / sizeof(a[0]);
/* 身長の逆順(高い順)に整列 */
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (a[i].height < a[j].height) {
swap(&a[i], &a[j]);
}
}
}
/* 表示 */
for (i = 0; i < n; i++) {
a[i].id, a[i].weight, a[i].height);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgQm9keSB7CiAgICBpbnQgaWQ7CiAgICBpbnQgd2VpZ2h0OwogICAgaW50IGhlaWdodDsKfTsKCgp2b2lkIHN3YXAoc3RydWN0IEJvZHkgKngsIHN0cnVjdCBCb2R5ICp5KQp7CiAgICBzdHJ1Y3QgQm9keSB0ZW1wOwogICAgdGVtcCA9ICp4OwogICAgKnggPSAqeTsKICAgICp5ID0gdGVtcDsKfQoKaW50IG1haW4odm9pZCkKewogICAgaW50IGksIGo7CiAgICAKICAgIHN0cnVjdCBCb2R5IGFbXSA9IHsKICAgICAgICB7MSwgNjUsIDE2OX0sCiAgICAgICAgezIsIDczLCAxNzB9LAogICAgICAgIHszLCA1OSwgMTYxfSwKICAgICAgICB7NCwgNzksIDE3NX0sCiAgICAgICAgezUsIDU1LCAxNjh9CiAgICB9OwoKICAgIGludCBuID0gc2l6ZW9mKGEpIC8gc2l6ZW9mKGFbMF0pOwoKICAgIC8qIOi6q+mVt+OBrumAhumghu+8iOmrmOOBhOmghu+8ieOBq+aVtOWIlyAqLwogICAgZm9yIChpID0gMDsgaSA8IG4gLSAxOyBpKyspIHsKICAgICAgICBmb3IgKGogPSBpICsgMTsgaiA8IG47IGorKykgewogICAgICAgICAgICBpZiAoYVtpXS5oZWlnaHQgPCBhW2pdLmhlaWdodCkgewogICAgICAgICAgICAgICAgc3dhcCgmYVtpXSwgJmFbal0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qIOihqOekuiAqLwogICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHByaW50ZigiSUQ9JWQg5L2T6YeNPSVkIOi6q+mVtz0lZFxuIiwKICAgICAgICAgICAgICAgYVtpXS5pZCwgYVtpXS53ZWlnaHQsIGFbaV0uaGVpZ2h0KTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==