设猜对5个和7个的人数各为x人,
3×6+4×10+5x+7x+(60-6-10-2x)×8=338
58+12x+(44-2x)×8=338
58+12x+352-16x=338
4x=72
x=18
60-6-10-2x=60-6-10-2×18=44-36=8
答:8个谜语全猜对的有8人.
故选:B.