#include <stdio.h>
struct student {
int id; /* 学籍番号 */
int eng; /* 英語の成績 */
int math; /* 数学の成績 */
int sci; /* 理科の成績 */
int total; /* 合計点 */
};
#define N 3
int main() {
int i, j;
struct student s[N] = {
{17001, 60, 100, 20},
{17002, 90, 40, 80},
{17003, 20, 30, 50}
};
struct student tmp;
/* 合計点の計算とソート */
for (i = 0; i < N; i++) {
s[i].total = s[i].eng + s[i].math + s[i].sci;
}
for (i = 1; i < N; i++) {
for (j = 0; j < N - i; j++) {
if (s[j].total > s[j + 1].total) {
tmp = s[j];
s[j] = s[j + 1];
s[j + 1] = tmp;
}
}
}
/* 成績のプリント */
for (i = 0; i < N; i++) {
printf("学籍番号:%-7d 英語:%-5d 数学:%-5d 理科:%-5d 合計点:%-5d\n", s[i].id, s[i].eng, s[i].math, s[i].sci, s[i].total);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpzdHJ1Y3Qgc3R1ZGVudCB7CiAgICBpbnQgaWQ7ICAgICAvKiDlrabnsY3nlarlj7cgKi8KICAgIGludCBlbmc7ICAgIC8qIOiLseiqnuOBruaIkOe4viAqLwogICAgaW50IG1hdGg7ICAgLyog5pWw5a2m44Gu5oiQ57i+ICovCiAgICBpbnQgc2NpOyAgICAvKiDnkIbnp5Hjga7miJDnuL4gKi8KICAgIGludCB0b3RhbDsgIC8qIOWQiOioiOeCuSAqLwp9OwoKI2RlZmluZSBOIDMKCmludCBtYWluKCkgewogICAgaW50IGksIGo7CiAgICBzdHJ1Y3Qgc3R1ZGVudCBzW05dID0gewogICAgICAgIHsxNzAwMSwgIDYwLCAxMDAsICAyMH0sCiAgICAgICAgezE3MDAyLCAgOTAsICA0MCwgIDgwfSwKICAgICAgICB7MTcwMDMsICAyMCwgIDMwLCAgNTB9CiAgICB9OwogICAgc3RydWN0IHN0dWRlbnQgdG1wOwoKICAgIC8qIOWQiOioiOeCueOBruioiOeul+OBqOOCveODvOODiCAqLwogICAgZm9yIChpID0gMDsgaSA8IE47IGkrKykgewogICAgICAgIHNbaV0udG90YWwgPSBzW2ldLmVuZyArIHNbaV0ubWF0aCArIHNbaV0uc2NpOwogICAgfQoKICAgIGZvciAoaSA9IDE7IGkgPCBOOyBpKyspIHsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgTiAtIGk7IGorKykgewogICAgICAgICAgICBpZiAoc1tqXS50b3RhbCA+IHNbaiArIDFdLnRvdGFsKSB7CiAgICAgICAgICAgICAgICB0bXAgPSBzW2pdOwogICAgICAgICAgICAgICAgc1tqXSA9IHNbaiArIDFdOwogICAgICAgICAgICAgICAgc1tqICsgMV0gPSB0bXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyog5oiQ57i+44Gu44OX44Oq44Oz44OIICovCiAgICBmb3IgKGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCLlrabnsY3nlarlj7c6JS03ZCDoi7Hoqp46JS01ZCDmlbDlraY6JS01ZCDnkIbnp5E6JS01ZCDlkIjoqIjngrk6JS01ZFxuIiwKICAgICAgICAgICAgICAgc1tpXS5pZCwgc1tpXS5lbmcsIHNbaV0ubWF0aCwgc1tpXS5zY2ksIHNbaV0udG90YWwpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==