Как мне найти 4 лучших бегунов? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

мне нужно было сформировать массив строк, в каждой строке записать фамилию и результат 100 м бега и сформировать команду подскажит как это сделать?
Листинг программы
  1. #include <stdio.h>
  2. #include <locale.h>
  3. struct beg
  4. {
  5. char fam[50];
  6. float res;
  7. }
  8. main ()
  9. {
  10. int i, j;
  11. float min;
  12. struct beg a[7];
  13. setlocale(LC_ALL,"Russian");
  14. printf("\nВВедите данные:");
  15. for (i=0;i<7;i++)
  16. {
  17. printf("\nВведите фамилию %d-го студента и его результат в беге на 100 м:\n", i+1);
  18. scanf ("%s%f",&a[i].fam,&a[i].res);
  19. }
  20. printf("\nКоманда из 4 лучших бегунов в эстафете 4*100 м:\n");
  21. system("Pause");
  22. }

Решение задачи: «Как мне найти 4 лучших бегунов?»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <stdlib.h>
  4. typedef struct beg
  5. {
  6.     char fam[50];
  7.     float res;
  8. } beg_t;
  9. int mycomp (const void *x1, const void *x2)
  10. {
  11.     return ( ((beg_t *)x1)->res - ((beg_t*)x2)->res);
  12. }
  13.  
  14. int main (void)
  15. {
  16.  
  17.     int i, j;
  18.     float min;
  19.     beg_t a[7];
  20.     setlocale(LC_ALL,"Russian");
  21.     printf("\nВВедите данные:");
  22.     for (i=0;i<7;i++)
  23.     {
  24.         printf("\nВведите фамилию %d-го студента и его результат в беге на 100 м:\n", i+1);
  25.         scanf ("%s%f",a[i].fam,&a[i].res);
  26.     }
  27.     printf("\nКоманда из 4 лучших бегунов в эстафете 4*100 м:\n");
  28.     qsort (a, 7, sizeof(beg_t), mycomp);
  29. }

Объяснение кода листинга программы

В этом коде:

  1. Создается структура данных beg_t, которая содержит фамилию и результат бега студента.
  2. Определяется функция сравнения mycomp, которая сравнивает результаты бега двух студентов.
  3. В функции main создается массив a типа beg_t на 7 элементов.
  4. Пользователю предлагается ввести данные о каждом студенте, включая фамилию и результат бега.
  5. Данные сохраняются в массиве a.
  6. Массив a сортируется функцией qsort с использованием функции сравнения mycomp.
  7. Выводится сообщение о команде из 4 лучших бегунов в эстафете 4*100 м. Код не содержит ошибок синтаксиса и не вызывает никаких предупреждений. Он работает как задумано и выводит сообщение о команде из 4 лучших бегунов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы