Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> /*Подключение файла stdio.h*/
- #include <conio.h> /*Подключение файла conio.h*/
- #define n 4 /*n = 4 студента (константа)*/
- #define lenChar 20 /*lenChar = 20 - максимальная длина строки*/
- int main(void) {
- ////Переменные и структуры////
- int i = 0;/*Счётчик цикла*/
- float markMax = 0; /*Максимальный средний балл среди студентов*/
- int indexMarkMax = 0; /*Индекс студента с максимальным баллом*/
- struct Student { /*Структура для описания студента*/
- int faculty;/*Номер факультета*/
- int group;/*Номер группы*/
- char gender; /*Пол студента*/
- char surname[lenChar]; /*Фамилия*/
- int semester; /*Номер семестра*/
- int markDiffEq; /*Оценка за диффуры*/
- int markMathAn; /*Оценка за матан*/
- int markPhys; /*Оценка за физику*/
- int markEcon; /*Оценка за экономику*/
- };
- struct Student Students[n];/*Массив Students из 4 структур Student (4 студента)*/
- float markAverage[n]; /*Массив markAverage для среднего балла каждого из 4 студентов*/
- ////Ввод информации о всех студентах////
- for (i = 0; i < n; i++) { /*Цикл for с i = 0 до i = 3*/
- printf("Student %d:\n", i + 1);/*Обозначение ввода информации для студента с номером i + 1*/
- printf("\tnumber of faculty: ");/*Обозначение ввода номера факультета*/
- scanf("%d", &Students[i].faculty);/*Ввод номера факультета*/
- printf("\tnumber of group: ");/*Обозначение ввода номера группы*/
- scanf("%d", &Students[i].group);/*Ввод номера группы*/
- printf("\tgender of student (man or woman): ");/*Обозначение ввода пола студента*/
- scanf("%s", &Students[i].gender);/*Ввод пола студента*/
- printf("\tsurname of student: ");/*Обозначение ввода фамилии студента*/
- scanf("%s", &Students[i].surname);/*Ввод фамилии студента*/
- printf("\tnumber of semester: ");/*Обозначение ввода номера семестра*/
- scanf("%d", &Students[i].semester);/*Ввод номера семестра*/
- printf("\tdifferential equations score: ");/*Обозначение ввода оценки по диффурам*/
- scanf("%d", &Students[i].markDiffEq);/*Ввод оценки по диффурам*/
- printf("\tmathematical analysis score: ");/*Обозначение ввода оценки по матану*/
- scanf("%d", &Students[i].markMathAn);/*Ввод оценки по матану*/
- printf("\tphysics score: ");/*Обозначение ввода оценки по физике*/
- scanf("%d", &Students[i].markPhys);/*Ввод оценки по физике*/
- printf("\teconomy score: ");/*Обозначение ввода оценки по экономике*/
- scanf("%d", &Students[i].markEcon);/*Ввод оценки по экономике*/
- }
- ////Вычисление необходимых значений////
- for (i = 0; i < n; i++) { /*Цикл for с i = 0 до i = 3*/
- /*Вычислить средний бал каждого студента*/
- markAverage[i] = ((float)Students[i].markDiffEq + (float)Students[i].markMathAn + (float)Students[i].markPhys + (float)Students[i].markEcon) / 4;
- }
- for (i = 0; i < n; i++) { /*Цикл for с i = 0 до i = 3*/
- if (markAverage[i] > markMax) { /*Если найден студент с большей успеваемостью*/
- markMax = markAverage[i]; /*Записать новый максимальный балл*/
- indexMarkMax = i; /*Записать индекс студента */
- }
- }
- ////Вывод вычисленных значений////
- printf("name of the best student: %s, average mark = %f", Students[indexMarkMax].surname, markAverage[indexMarkMax]);/*Вывести имя лучшего студента и его средний балл*/
- getch();/*Ожидать нажатия клавиши*/
- ////Завершение работы программы////
- return 0;/*Выйти из main*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement