Hello I'm working on this problem

Enrolment in a class is limited to 50 students. For each student, name and a test score is given. Perform the following operations:

* Input student name and score for each student.
* Compute and output the class average.
* Output the name of each student whose score is below the average.
* Compute and output the highest score and the name of each student with the highest score.
* Input a student's name. If the student is in the course, output the test score; otherwise, output an appropriate message.
* Sort the data into alphabetical order by student name and output the sorted list, with student name and score.

for the input part would I use separate arrays for the names and scores? As for the other parts which sort and search algorithms should I use?