В первой строке сообщается количество учеников N, которое не меньше 10
Условие
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> - строка, состоящая не более чем из 20 символов, <Имя> — строка, состоящая не более чем из 15 символов, <оценки> - через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:Иванов Петр 4 2 4 Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена неуспевающих учеников (имеющих по результатам экзаменов хотя бы одну двойку), располагая их в порядке уменьшения числа двоек.
Формат задания
Решение по шагам
Как рассуждать
Решение. ##Приведём решение на языке Pascal.var р:array[1..100] of record name:string; sum:integer; end;с:char;i,j,N,m:integer;beginreadln(N); for i:=l to N dobeginp[i].name:= ' ';repeat read(c); p[i].name:=p[i].name+cuntil c=' '; repeat read(с); p[i].name:=p[i].name+cuntil c=' '; p[i].sum:=0; for j:=1 to 3 do beginread(m);if m=2 then p[i].sum:=p[i].sum+1end; readln;end;for i:=1 to N do if p[i].sum=3 then writeln(p[i].name); for i:=1 to N doif p[i].sum=2 then writeln(p[i].name);for i:=1 to N doif p[i].sum=1 then writeln(p[i].name) end.
Осталось ещё 1 шаг
Приведём решение Сергея Донец на языке…
Бесплатно · займёт минуту