Определить количество отличников и средний бал каждого студента - C (СИ)

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

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

Ввести информацию по 3-м студентам (порядковый номер, Фамилия и три оценки) определить количество отличников и средний бал каждого студента Проблема в цикле! Помогите пожалуйста!Заранее спасибо!)
Листинг программы
  1. //---------------------------------------------------------------------------
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <string.h>
  5. //---------------------------------------------------------------------------
  6. struct student
  7. {
  8. int n;
  9. char fio[20];
  10. int bal[3];
  11. };
  12. int main()
  13. {
  14. struct student st[100];
  15. int i,j,kol=0,s=0;
  16. float sr=0;
  17. for (i=1; i<5; i++) {
  18. st[i].n=i;
  19. printf("Vvedite familiu %d ",i);
  20. scanf("%s",st[i].fio);
  21. for (i=0; i<3; i++) {
  22. printf("Vvedite ochenku: ");
  23. scanf("%d",&st[i].bal[j]);
  24. s=s+st[i].bal[j];
  25. }
  26. sr=s/3;
  27. if (s==15) {
  28. kol=kol+1;
  29. }
  30. printf("Sredniy ball = %5.3f\n",sr);
  31. }
  32. printf("Kolichestvo otlichikov = %d\n",kol);
  33. getch();
  34. return 0;
  35. }
  36. //---------------------------------------------------------------------------

Решение задачи: «Определить количество отличников и средний бал каждого студента»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4. //---------------------------------------------------------------------------
  5. struct student
  6. {
  7.     int n;
  8.     char fio[20];
  9.     int bal[3];
  10. };
  11.  
  12. int  main()
  13. {
  14.     struct student st[100];
  15.     int i,j,kol=0,s=0;
  16.     float sr=0;
  17.  
  18.     for (i=1; i<5; i++) {
  19.         st[i].n=i;
  20.         printf("Vvedite familiu %d ",i);
  21.         scanf("%s",st[i].fio);
  22.         printf("Vvedite ochenku: ");
  23.         for (j=0; j<3; j++) {
  24.             scanf("%d",&st[i].bal[j]);
  25.             s=s+st[i].bal[j];
  26.         }
  27.         sr=(float)s/3; // изменил, т.к. при делении целых чисел возможна потеря
  28.         if (s==15) kol=kol+1;
  29.         printf("Sredniy ball = %5.3f\n",sr);
  30.         s=0; // не забываем обнулять сумму оценок
  31.     }
  32.  
  33.     printf("Kolichestvo otlichikov = %d\n",kol);
  34.     getch();
  35.     return 0;
  36. }
  37. //---------------------------------------------------------------------------

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

  1. Включаем необходимые заголовочные файлы
  2. Объявляем структуру student для хранения информации о студенте
  3. Объявляем переменные и инициализируем их
  4. Запускаем цикл для ввода данных о студентах
  5. Вводим фамилию студента и оценки по трём предметам
  6. Вычисляем средний балл как отношение суммы оценок к их количеству
  7. Если сумма оценок равна 15, увеличиваем счётчик отличников на 1
  8. Выводим средний балл на экран
  9. Обнуляем сумму оценок
  10. Повторяем шаги 4-8 для всех студентов
  11. Выводим количество отличников на экран
  12. Завершаем программу

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


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

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

10   голосов , оценка 4.2 из 5

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

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

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