2 תשובות
באיזו שפה? אם את לא אומרת אז הנה הפתרון בפייתון:
a,b,d=[],[],lambda a,c:input(f'input the {a} of student {c}: ')
for c in range(1,4):
a.append(d('name',c))
b.append(sum(map(lambda a:int(d(f'grade in {a}',c))/3,['physics','cs', 'biology'])))
print(*(f'average of the student {a[i]}: {b[i]}'for i in range(3)),f'student with highest average grade: {a[b.index(max(b))]}',sep='\n')

#הנה הלינק לקוד (יש שאלות לגבי הקוד או שהכל מובן?):
לא יודע באיזו שפה את צריך אז אכתוב במילים.

משתנה ממוצע מקסימלי
משתנה שם תלמיד עם ממוצע מקסימלי
לולאה 3 פעמים -
קלט - שם תלמיד.
קלט - ציונים כל אחד למשתנה של עצמו.
ממוצע בינהם שמירה למשתנה.
פלט - של הממוצע.
תנאי - אם ממוצע מקסימלי קטן ממוצע התלמיד הנוכחי אז להציב את ממוצע התלמיד לממוצע המקסימלי ואת שם התלמיד לשם עם הממוצע המקסימלי.
לסגור את הלולאה.

פלט - שם התלמיד עם הממוצע המקסימלי.