5名运动员参加100米赛跑,各自对比赛结果进行了预测:A说:E是第1名。B说:我是第2名。C说:A肯定垫底。D说:C肯定拿不了第1名。E说:D应该是第1名。比赛结束后发现,只有获第1名和第2名的选手猜对了,E不是第2名和第3名,没有出现名次并列的情况。请编程判断5位选手各是第几名。