Распечатать фамилии учеников, которые не получили ни одной 3-ки за последнюю четверть - C (СИ)
Формулировка задачи:
Распечатать фамилии тех учеников, которые не получили ни одной 3-ки за последнюю четверть. В каких класах учатся эти ученики? Каков их средний балл?
Решение задачи: «Распечатать фамилии учеников, которые не получили ни одной 3-ки за последнюю четверть»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { char fam[30],klass[3]; int ball[4]; int i,j,c3; float sred; FILE *f=fopen("data.txt","rt"); if (f==NULL) { printf ("\nCan't open file data.txt in current folder!"); fflush(stdin); getchar(); return 1; } for (i=0; i<5; i++) { fscanf (f,"%s %s",fam,klass); c3=0; sred=0; for (j=0; j<4; j++) { fscanf (f,"%d",&ball[j]); if (ball[j]==3) c3++; sred+=ball[j]; } fscanf (f,"\n"); if (c3==0) printf ("\n%s %s %.2f",fam,klass,sred/4); } fclose(f); fflush(stdin); getchar(); return 0; }
Объяснение кода листинга программы
- Подключаются необходимые библиотеки
- Объявляются переменные: fam[30] - массив для хранения фамилий учеников, klass[3] - массив для хранения класса учеников, ball[4] - массив для хранения оценок учеников, i, j, c3 - счётчики для циклов, sred - переменная для хранения средней оценки, f - указатель на файл
- Проверяется успешность открытия файла
data.txt
в режиме чтения. Если файл не открылся, выводится сообщение об ошибке и программа завершается. - Происходит чтение данных из файла
data.txt
. В каждой итерации цикла считываются фамилия, класс и оценки ученика. - Переменная c3 инициализируется нулём и используется для подсчёта количества оценок 3.
- Переменная sred инициализируется нулём и используется для хранения суммы оценок ученика.
- Если в массиве оценок есть оценка 3, то к переменной c3 прибавляется единица.
- Сумма оценок ученика добавляется к переменной sred.
- После каждой итерации цикла считывается символ новой строки.
- Если в массиве оценок ни разу не встречалась оценка 3, то выводится фамилия, класс и средняя оценка ученика.
- После окончания чтения файла, закрывается указатель на файл.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д