-I spent a week in Xiamen last month. -Then you must have been overcharged for sea food many a time, _____ you? 这道题填weren't,为什么不可以填haven't或是didn't? 这里有many a time不应该用目前完成时haven't吗?didn't只可以用在must have done表一般过去时的非被动语态里吗?She must have been there yesterday, didn't she? 这里可以用wasn't she吗?wasn't/weren't只可以用在must have been done被动句里吗?

Then you must have been overcharged for sea food many a time

网友应该了解:must + 完成体 表示对过去状况的一定性推断。目前,去掉推断情态动词 must 后,句子变成以下两种状况:

1. Then you have been overcharged for sea food many a time.

2. Then youwere overcharged for sea food many a time.

把这两句变成“附加问句”:

1. Then you have been overcharged for sea food many a time, havent you?

2. Then youwere overcharged for sea food many a time, werent you?

任选一个即可。但不可以是 didnt you?黎老师忽视了被动语态。