Answer:
There are 32 pupils in the class
Explanation:
Let's say there are N pupils in the class. Then each pupil must send N-1 cards - because it would make no sense to send one to themselves! So each of the N pupils send N-1 cards, which becomes 992 cards in total. In equation form, this is

This is a second degree polynomial, which has the solutions

where

If we insert these numbers in the equation,

If we choose the solution with the minus sign, we get
N=-31
but this makes no sense! There can't be a negative number of pupils in the class!
So we choose the solution with the plus sign,

So there are 32 pupils in the class