у меня есть-структура, которая определяется как это:Сортировки вывода функции для отображения от высокого к низким
typedef struct structure
{
char names[20];
int scores[4];
float average;
char letter;
} stuff;
И из этой структуры создал этот массив:
stuff everything[13];
Позже, функция вызывается с:
display(everything);
отображает на экране основной диаграммы, которая отображает 13 имен, 13 test1s, 13 test2s, 13 test3s, 13 test4 с, 13 средних и 13 буквенных разрядов, в порядке. Для справки, функция выглядит следующим образом:
void display(stuff *everything)
{
int q = 0;
printf("\n\n Name \t\t E1 \t E2 \t E3 \t E4 \t Avg \t Grade");
for(q=0; q<13; q++)
{
printf("\n %s \t %d \t %d \t %d \t %d \t %.2f \t %c",
everything[q].names,
everything[q].scores[0],
everything[q].scores[1],
everything[q].scores[2],
everything[q].scores[3],
everything[q].average,
everything[q].letter);
}
return;
}
Я хотел бы взять средние и сравнить их друг против друга, так что при отображении на экране, то первый результат является самым высоким в среднем, и он идет оттуда. Я почти уверен, что буду использовать «qsort()», но у меня возникают сильные трудности с пониманием синтаксиса. Некоторая помощь с qsort и как ее использовать в этом конкретном случае будет очень благодарна.
Не все о синтаксисе. Есть и семантика. Что вы пробовали? Вы знаете о указателях функций? Какую книгу ты читаешь? – Sebivor