Напечатать фамилии студентов, учащихся на "4". "5" и их процентное соотношение с другими - C (СИ)
Формулировка задачи:
Ведомость о результатах зимней сессии содержит информацию: фамилия и инициалы студента, номер группы, оценки с 3-х предметов: а) математического анализа, б) алгебры в) программирования. Написать программу, вводит информацию из ведомости и печатает фамилии студентов, учащихся на "4". "5" и их процентное соотношение с другими.
Решение задачи: «Напечатать фамилии студентов, учащихся на "4". "5" и их процентное соотношение с другими»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define m 100 #define n 3 struct Sessia{ char surname[m]; char namePatronymic[m]; char group[m]; int mark[3];}; int main(){ Sessia students[n]; int i, j; int summ = 0; bool fl; float percent; int bal; printf("Enter information for the students.\n"); printf("Surname\tN.O.\tGroup\tMath.\t Algeb.\tProg.\n"); for(i = 0; i < n; i++){ scanf("%s %s %s", &students[i].surname, &students[i].namePatronymic, &students[i].group); for(j = 0; j < 3; j++){ scanf("%d", &students[i].mark[j]); summ += students[i].mark[j]; } } printf("\nPlease enter mark: "); scanf("%d", &bal); printf("\nSurname\tN.O.\tGroup\tMath.\t Algeb.\tProg.\tpercent\n"); for(i = 0; i < n; i++){ fl = true; percent = 0; for(j = 0; j < 3; j++){ if(students[i].mark[j] < bal){ fl = false; break; } } if(fl){ printf("%s\t%s\t%s\t", students[i].surname, students[i].namePatronymic, students[i].group); for(j = 0; j < 3; j++){ percent += students[i].mark[j]; printf("%d\t", students[i].mark[j]); } percent = (float(summ) / float(100)) * percent; printf("%.2f\n", percent); } } return 0; }
Объяснение кода листинга программы
Код решает задачу по подсчету среднего балла студентов в зависимости от их оценок по трём предметам (математика, алгебра и программирование) и выводит информацию о студентах, которые получили оценку 4
и 5
по всем трём предметам.
- В начале кода подключаются необходимые библиотеки: stdio.h для работы с выводом на экран, stdlib.h для работы с функцией rand(), string.h для работы со строками.
- Затем определяются константы: m - максимальное количество символов в строке (в данном случае это 100), n - количество студентов (в данном случае это 3).
- Далее создается структура Sessia, которая содержит информацию о каждом студенте: фамилию, имя отчество, группу и оценки по трём предметам.
- В основной части программы создается массив Sessia, и в цикле запрашивается информация о каждом студенте.
- После ввода информации о всех студентах, программа запрашивает у пользователя оценку, и в цикле выводит информацию о студентах, которые получили оценку
4
и5
по всем трём предметам. - Для каждого студента вычисляется средний балл, и если он больше или равен заданной оценке, то выводится информация о студенте и его средний балл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д