Surveys may not be the best way to capture answer to questions and then find out the correct answer because you are unable to create calculated columns to validate this on the fly. I would recommend using a Custom List to do this. (assuming many of your questions could be multiple choice)
- Create custom list with Choice Columns
- Create Calculated Columns to validate the "Correct" answer for each question.
- You can set up a [Me] filtered default view so users can see their own items or use Item level Permissions in the advanced settings of the list so contribute users can only create / view their own items. (Designers or Full control users would be able to view all)
- Other views could be for the admins to review the answers or to export them to excel etc.
Here is the formula I used to choose each answer to the questions in my example below.
#Answer 1 - Calculated Column Displaying text
=IF([Question 1]="2. Answer B","Correct","Incorrect")
#Answer 2 - Calculated Column Displaying text
=IF([Question 2]="3. Answer Three","Correct","Incorrect")
If you do use a Survey List you can do all sorts of cool things but you will be grading them manually.