#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 < 4; 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+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgaWQ7CiAgICBpbnQgd2VpZ2h0OwogICAgaW50IGhlaWdodDsKfSBCb2R5OwoKLyog5qeL6YCg5L2T44Gu5YWl44KM5pu/44GI55SoIHN3YXAg6Zai5pWwICovCnZvaWQgc3dhcChCb2R5ICphLCBCb2R5ICpiKSB7CiAgICBCb2R5IHRlbXAgPSAqYTsKICAgICphID0gKmI7CiAgICAqYiA9IHRlbXA7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIEJvZHkgYm9keVs1XSA9IHsKICAgICAgICB7MSwgNjUsIDE2OX0sCiAgICAgICAgezIsIDczLCAxNzB9LAogICAgICAgIHszLCA1OSwgMTYxfSwKICAgICAgICB7NCwgNzksIDE3NX0sCiAgICAgICAgezUsIDU1LCAxNjh9CiAgICB9OwoKICAgIGludCBpLCBqOwoKICAgIC8qIOi6q+mVt+OBrumZjemghuOBq+S4puOBs+abv+OBiCAqLwogICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgewogICAgICAgIGZvciAoaiA9IGkgKyAxOyBqIDwgNTsgaisrKSB7CiAgICAgICAgICAgIGlmIChib2R5W2ldLmhlaWdodCA8IGJvZHlbal0uaGVpZ2h0KSB7CiAgICAgICAgICAgICAgICBzd2FwKCZib2R5W2ldLCAmYm9keVtqXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyog5Ye65YqbICovCiAgICBmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlZCwgJWQsICVkXG4iLAogICAgICAgICAgICAgICBib2R5W2ldLmlkLAogICAgICAgICAgICAgICBib2R5W2ldLndlaWdodCwKICAgICAgICAgICAgICAgYm9keVtpXS5oZWlnaHQpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==
4, 79, 175
2, 73, 170
1, 65, 169
5, 55, 168
3, 59, 161