Yes, both b and c are correct.
As I �ve mentioned a few times, the continuous tenses are used when the duration of the activity over time is being stressed. Choice b is a simple statement of fact about what she has done during the time period. Choice c brings us a little more personally into her life by emphasizing that this activity occupied her time for years.
I have played the accordion for 50 years (In fact, my anniversary is sometime this month).
This is just a piece of information about me.
I have been playing the accordion for 50 years.
This is a little more personal. It just emphasizes that there is an activity that took place over the time period.
I have lived in my house for 12 years. - piece of information
I have been living in my house for 12 years. - puts some emphasis on the living and the time period, not just the time period.
They have sold fish on that corner for years.
They have been selling fish on that corner for years.
I hope you understand the difference, and that both forms are useful, depending on your intention.
Bruce