#include <stdio.h>
struct Body {
int id;
int weight;
int height;
};
void swap(int *a, int *b) {
int w = *a;
*a = *b;
*b = w;
}
void swapBody(struct Body *a, struct Body *b) {
struct Body w = *a;
*a = *b;
*b = w;
}
int main(void) {
struct Body a[] = {
{1, 65, 169},
{2, 73, 170},
{3, 59, 161},
{4, 79, 175},
{5, 55, 168}
};
int n = 5;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (a[i].height < a[j].height) {
swapBody(&a[i], &a[j]);
}
}
}
for (int i = 0; i < n; i++) {
printf("%d\t%d\t%d\n", a
[i
].
id, a
[i
].
weight, a
[i
].
height); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3QgQm9keSB7CiAgICBpbnQgaWQ7CiAgICBpbnQgd2VpZ2h0OwogICAgaW50IGhlaWdodDsKfTsKCnZvaWQgc3dhcChpbnQgKmEsIGludCAqYikgewogICAgaW50IHcgPSAqYTsKICAgICphID0gKmI7CiAgICAqYiA9IHc7Cn0KCnZvaWQgc3dhcEJvZHkoc3RydWN0IEJvZHkgKmEsIHN0cnVjdCBCb2R5ICpiKSB7CiAgICBzdHJ1Y3QgQm9keSB3ID0gKmE7CiAgICAqYSA9ICpiOwogICAgKmIgPSB3Owp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBzdHJ1Y3QgQm9keSBhW10gPSB7CiAgICAgICAgezEsIDY1LCAxNjl9LAogICAgICAgIHsyLCA3MywgMTcwfSwKICAgICAgICB7MywgNTksIDE2MX0sCiAgICAgICAgezQsIDc5LCAxNzV9LAogICAgICAgIHs1LCA1NSwgMTY4fQogICAgfTsKICAgIGludCBuID0gNTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG4gLSAxOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gaSArIDE7IGogPCBuOyBqKyspIHsKICAgICAgICAgICAgaWYgKGFbaV0uaGVpZ2h0IDwgYVtqXS5oZWlnaHQpIHsKICAgICAgICAgICAgICAgIHN3YXBCb2R5KCZhW2ldLCAmYVtqXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBwcmludGYoIiVkXHQlZFx0JWRcbiIsIGFbaV0uaWQsIGFbaV0ud2VpZ2h0LCBhW2ldLmhlaWdodCk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=