答案与解析:好事应该是C做的。 ①假设A说的是实话,则C说的也属实话,不符合题意,所以A说的是假话; ②假设B说的是实话,那么好事应该是D做的,C说的应该是实话,显然这与“只有一个人讲了实话”相矛盾,所以B说的是假话; ③假设C说的是实话,即好事不是C做的,也因①、②已分别说明B和D未做,则只剩下A做,那么D说的也是真话,这与题设相矛盾,所以C说的也是假话; ④假设D说的是实话,那好事应该不是D做的,是C做的.符合题设条件。 所以,好事应该是C做的。