Answer:
A. I <em>knew</em> her for years. or <em>I've known </em>her for years.
B. How long <em>will you be </em>studying English? or How long <em>have you been </em>studying English?
C. "Why are you crying?" "Granny hit me."
D. This is the first time I<em> have heard</em> her sing.
E. I told her that I finished.
Explanation:
A. Know should be past tense.
B. I'm not actually sure because I think it is a genuine sentence, but I think that 'have you been' is better.
C. The - ' - should be quotation marks and the 'has' is unnecessary.
D. Hear should be changed to 'have heard'
E. The 'have' is unnecessary.