#include<stdio.h>
#define STARHEAD "*******************************************************\n"
#define SHOWHEAD " Show information for all students \n"
#define SORTHEAD " Output from high to low according to grades \n"
#define WRAPHEAD "\n"
struct Student {
int number;
char name[15];
int score;
};
struct Student student[10] = {
{8, "imz", 84},
{30, "pzh", 30},
{28, "xhx", 88},
{51, "vbi", 81},
{35, "spe", 91},
{14, "apm", 77},
{7, "lyv", 71},
{9, "fey", 87},
{16, "uvv", 100},
{42, "aap", 67}
};
void show();
void sort();
void show()
{
int n;
for (n = 0; n < 10; n++) {
printf("number:%2d name:%s score:%d\n", student
[n
].
number, student
[n
].
name, student
[n
].
score); }
}
void sort()
{
int i, j, h, k;
struct Student temp;
for (i = 0; i < 9; i++) {
k = i;
for (j = i + 1; j < 10; j++) {
if (student[i].score < student[j].score) {
k = j;
temp = student[i];
student[i] = student[k];
student[k] = temp;
}
}
}
for (h = 9; h >= 0; h--) {
printf("number:%d name:%s score:%d\n", student
[h
].
number, student
[h
].
name, student
[h
].
score); }
}
int main()
{
show();
sort();
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU1RBUkhFQUQgIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIKI2RlZmluZSBTSE9XSEVBRCAiICAgICAgICAgICBTaG93IGluZm9ybWF0aW9uIGZvciBhbGwgc3R1ZGVudHMgICAgICAgICAgIFxuIgojZGVmaW5lIFNPUlRIRUFEICIgICAgICBPdXRwdXQgZnJvbSBoaWdoIHRvIGxvdyBhY2NvcmRpbmcgdG8gZ3JhZGVzICAgICAgXG4iCiNkZWZpbmUgV1JBUEhFQUQgIlxuIgoKc3RydWN0IFN0dWRlbnQgewogICAgaW50IG51bWJlcjsKICAgIGNoYXIgbmFtZVsxNV07CiAgICBpbnQgc2NvcmU7Cn07CgpzdHJ1Y3QgU3R1ZGVudCBzdHVkZW50WzEwXSA9IHsKICAgIHs4LCAiaW16IiwgODR9LAogICAgezMwLCAicHpoIiwgMzB9LAogICAgezI4LCAieGh4IiwgODh9LAogICAgezUxLCAidmJpIiwgODF9LAogICAgezM1LCAic3BlIiwgOTF9LAogICAgezE0LCAiYXBtIiwgNzd9LAogICAgezcsICJseXYiLCA3MX0sCiAgICB7OSwgImZleSIsIDg3fSwKICAgIHsxNiwgInV2diIsIDEwMH0sCiAgICB7NDIsICJhYXAiLCA2N30KfTsKCnZvaWQgc2hvdygpOwp2b2lkIHNvcnQoKTsKCnZvaWQgc2hvdygpCnsKICAgIGludCBuOwogICAgcHJpbnRmKFNUQVJIRUFEKTsKICAgIHByaW50ZihTSE9XSEVBRCk7CiAgICBwcmludGYoU1RBUkhFQUQpOwogICAgZm9yIChuID0gMDsgbiA8IDEwOyBuKyspIHsKICAgICAgICBwcmludGYoIm51bWJlcu+8miUyZCBuYW1l77yaJXMgc2NvcmXvvJolZFxuIiwgc3R1ZGVudFtuXS5udW1iZXIsIHN0dWRlbnRbbl0ubmFtZSwgc3R1ZGVudFtuXS5zY29yZSk7CiAgICB9CiAgICBwcmludGYoV1JBUEhFQUQpOwp9Cgp2b2lkIHNvcnQoKQp7CiAgICBpbnQgaSwgaiwgaCwgazsKICAgIHN0cnVjdCBTdHVkZW50IHRlbXA7CiAgICBwcmludGYoU1RBUkhFQUQpOwogICAgcHJpbnRmKFNPUlRIRUFEKTsKICAgIHByaW50ZihTVEFSSEVBRCk7CiAgICBmb3IgKGkgPSAwOyBpIDwgOTsgaSsrKSB7CiAgICAgICAgayA9IGk7CiAgICAgICAgZm9yIChqID0gaSArIDE7IGogPCAxMDsgaisrKSB7CiAgICAgICAgICAgIGlmIChzdHVkZW50W2ldLnNjb3JlIDwgc3R1ZGVudFtqXS5zY29yZSkgewogICAgICAgICAgICAgICAgayA9IGo7CiAgICAgICAgICAgICAgICB0ZW1wID0gc3R1ZGVudFtpXTsKICAgICAgICAgICAgICAgIHN0dWRlbnRbaV0gPSBzdHVkZW50W2tdOwogICAgICAgICAgICAgICAgc3R1ZGVudFtrXSA9IHRlbXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBmb3IgKGggPSA5OyBoID49IDA7IGgtLSkgewogICAgICAgIHByaW50ZigibnVtYmVy77yaJWQgbmFtZe+8miVzIHNjb3Jl77yaJWRcbiIsIHN0dWRlbnRbaF0ubnVtYmVyLCBzdHVkZW50W2hdLm5hbWUsIHN0dWRlbnRbaF0uc2NvcmUpOwogICAgfQp9CgppbnQgbWFpbigpCnsKICAgIHNob3coKTsKICAgIHNvcnQoKTsKICAgIHJldHVybiAwOwp9