Consider this variation of B. It allows you the flexibility to use a QuestionGroup in multiple Surveys without having to re-enter the questions for each Survey.
TableKeys
Survey
PK = SurveyID
QuestionGroup
PK = QuestionGroupID
SurveyQuestionGroup
PK = SurveyQuestionGroup,
FK = SurveyID to Survey,
FK = QuestionGroupID to QuestionGroup,
AK = SurveyID,QuestionGroupID
Question
PK = QuestionID,
FK = QuestionGroupID to QuestionGroup,
AK = QuestionID,QuestionGroupID
Answer
PK = AnswerID, FK = QuestionID,
FK = QuestionID,QuestionGroupID to Question,
FK = SurveyID,QuestionGroupID to SurveyQuestionGroup