Benchmarks to evaluation of exam programs:

Reductions:

In the posted solutions, Sergey's passing-guaranteed program would be worth 33.5 pts (0.5 for debugging output, which is a good programming practice here, because the program is not "finished").
Shannon's program would get the full mark of 45   (-0.5 for unneccesarily long main() offset by demostration of good skills in working with files).