Как мне найти 4 лучших бегунов? - C (СИ)
Формулировка задачи:
мне нужно было сформировать массив строк, в каждой строке записать фамилию и результат 100 м бега и сформировать команду
подскажит как это сделать?
Листинг программы
- #include <stdio.h>
- #include <locale.h>
- struct beg
- {
- char fam[50];
- float res;
- }
- main ()
- {
- int i, j;
- float min;
- struct beg a[7];
- setlocale(LC_ALL,"Russian");
- printf("\nВВедите данные:");
- for (i=0;i<7;i++)
- {
- printf("\nВведите фамилию %d-го студента и его результат в беге на 100 м:\n", i+1);
- scanf ("%s%f",&a[i].fam,&a[i].res);
- }
- printf("\nКоманда из 4 лучших бегунов в эстафете 4*100 м:\n");
- system("Pause");
- }
Решение задачи: «Как мне найти 4 лучших бегунов?»
textual
Листинг программы
- #include <stdio.h>
- #include <locale.h>
- #include <stdlib.h>
- typedef struct beg
- {
- char fam[50];
- float res;
- } beg_t;
- int mycomp (const void *x1, const void *x2)
- {
- return ( ((beg_t *)x1)->res - ((beg_t*)x2)->res);
- }
- int main (void)
- {
- int i, j;
- float min;
- beg_t a[7];
- setlocale(LC_ALL,"Russian");
- printf("\nВВедите данные:");
- for (i=0;i<7;i++)
- {
- printf("\nВведите фамилию %d-го студента и его результат в беге на 100 м:\n", i+1);
- scanf ("%s%f",a[i].fam,&a[i].res);
- }
- printf("\nКоманда из 4 лучших бегунов в эстафете 4*100 м:\n");
- qsort (a, 7, sizeof(beg_t), mycomp);
- }
Объяснение кода листинга программы
В этом коде:
- Создается структура данных
beg_t
, которая содержит фамилию и результат бега студента. - Определяется функция сравнения
mycomp
, которая сравнивает результаты бега двух студентов. - В функции
main
создается массивa
типаbeg_t
на 7 элементов. - Пользователю предлагается ввести данные о каждом студенте, включая фамилию и результат бега.
- Данные сохраняются в массиве
a
. - Массив
a
сортируется функциейqsort
с использованием функции сравненияmycomp
. - Выводится сообщение о команде из 4 лучших бегунов в эстафете 4*100 м. Код не содержит ошибок синтаксиса и не вызывает никаких предупреждений. Он работает как задумано и выводит сообщение о команде из 4 лучших бегунов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д