Assuming that A is telling the truth, then B is broken, then C is not broken, and C is telling the truth, then two people are telling the truth, which is contradictory.
Suppose B is telling the truth, which is not broken by C. If C tells the truth again, there will be two people telling the truth, which is contradictory.
Assuming and telling the truth, then the sentence "Ding said B lied" is a lie, and then Ding told the truth, then two people told the truth, which is contradictory.
Assuming that Ding is telling the truth, then C's sentence "I didn't break it" is a lie, so C broke it. Check the words of the other two people: A said that "B broke the glass" is indeed a lie, and B said that "D broke it" is also a lie. Only one person tells the truth and meets the requirements, and C is broken.