void foo(int input[][3][3]) //ok, call with foo(semesterEvaluation).
I really dislike multi D constructs.
But if you *must* do this, consider a typedef for your fixed sized things and use that in the functions to make it cleaner and easier to fix if you change the program. If the dimensions actually vary you can do something else, but yours appear to all be fixed size.
@beemo, think carefully on keskiverto's question. Your teacher likely wants you to refactor your code so that your methods take the arrays as parameters. You'll then likely be declaring the arrays in main() rather than in global scope and then passing them in.
Back to the question, though. If you were to refactor a method to take, for simplicity's sake, a 1D array, the general setup would look like this: