Как мне найти 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 лучших бегунов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д