Yes, you can apply ARRAY in this case.
And a suggested solution will be:
PROGRAM solution2;
USES crt;
VAR data_amt, count, winner, highest: integer;
data: ARRAY[1..40] OF integer;
BEGIN
data_amt:= 0; winner:= 0; highest:= 0; FOR count:= 1 TO 40 DO data[count]:= 0;
write('How many pieces of data you are going to enter? (2~40) '); readln(data_amt);
FOR count:= 1 TO data_amt DO
BEGIN write('What is the score of student ', count, ': '); readln(data[count]);
IF data[count]>highest THEN BEGIN winner:= count; highest:= data[count] END END;
writeln('The winner is student ', winner, ' and he has a score of ', highest, '!');
readkey
END.