#include <stdio.h>
typedef struct {
int id;
int weight;
int height;
} Body;
void swap(Body *p1, Body *p2){
int t_id = p1->id;
p1->id = p2->id;
p2->id = t_id;
int t_w = p1->weight;
p1->weight = p2->weight;
p2->weight = t_w;
int t_h = p1->height;
p1->height = p2->height;
p2->height = t_h;
}
int main(void) {
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 (int i = 0; i < n - 1; i++){
for (int j = 0; j < n - 1 - i; j++) {
if (a[j].height < a[j + 1].height) {
swap(&a[j], &a[j + 1]);
}
}
}
for (int i = 0; i < n; i++) {
printf("Id;%d, 体重;%d, 身長;%d\n", a
[i
].
id, a
[i
].
weight, a
[i
].
height); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgaWQ7CiAgICBpbnQgd2VpZ2h0OwogICAgaW50IGhlaWdodDsKfSBCb2R5OwoKCnZvaWQgc3dhcChCb2R5ICpwMSwgQm9keSAqcDIpewogICAgaW50IHRfaWQgPSBwMS0+aWQ7CiAgICBwMS0+aWQgPSBwMi0+aWQ7CiAgICBwMi0+aWQgPSB0X2lkOwoKICAgIGludCB0X3cgPSBwMS0+d2VpZ2h0OwogICAgcDEtPndlaWdodCA9IHAyLT53ZWlnaHQ7CiAgICBwMi0+d2VpZ2h0ID0gdF93OwoKICAgIGludCB0X2ggPSBwMS0+aGVpZ2h0OwogICAgcDEtPmhlaWdodCA9IHAyLT5oZWlnaHQ7CiAgICBwMi0+aGVpZ2h0ID0gdF9oOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBCb2R5IGFbXSA9IHsKICAgICAgICB7MSwgNjUsIDE2OX0sCiAgICAgICAgezIsIDczLCAxNzB9LAogICAgICAgIHszLCA1OSwgMTYxfSwKICAgICAgICB7NCwgNzksIDE3NX0sCiAgICAgICAgezUsIDU1LCAxNjh9LAogICAgfTsKCiAgICBpbnQgbiA9IHNpemVvZihhKSAvIHNpemVvZihhWzBdKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKyl7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBuIC0gMSAtIGk7IGorKykgewogICAgICAgICAgICBpZiAoYVtqXS5oZWlnaHQgPCBhW2ogKyAxXS5oZWlnaHQpIHsKICAgICAgICAgICAgICAgIHN3YXAoJmFbal0sICZhW2ogKyAxXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBwcmludGYoIklkOyVkLCDkvZPph407JWQsIOi6q+mVtzslZFxuIiwgYVtpXS5pZCwgYVtpXS53ZWlnaHQsIGFbaV0uaGVpZ2h0KTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQoK
Id;4, 体重;79, 身長;175
Id;2, 体重;73, 身長;170
Id;1, 体重;65, 身長;169
Id;5, 体重;55, 身長;168
Id;3, 体重;59, 身長;161