AB的前后肯定/否定形式不一致,排除;
楼主要明白这种问句的Yes/No的含义,此回答无视原句的肯定否定,直接视原句为肯定句即可。
即无论原句是He isn't a good swimmer, is he?还是He is a good swimmer, isn't he?,只要答案是Yes,其意思就是“他是一个好的游泳者”;答案是No,其意思都是“他不是一个好的游泳者”,反之亦然。
由后句的but he used to be = but he used to be a good swimmer,可知句意为“他过去是一个好的游泳者,但是现在不是了”。
既然句意是“不是”,那么回答就肯定是No,由此排除D,C为正确答案。