두 문장간의 context를 파악하십시오.
마지막 문장은 '체육관에서 운동을 하고 있다'정도로 해석됩니다.
논리적으로 생각했을때, 아픈 사람이 체육관에서 운동을 하고 있지는 않을테므로, 그녀는 '아픈 상태가 아니다'라는 것입니다.
그래서 cannot이 답입니다. 해석하면 '그녀는 아플수가 없다.' (왜냐하면) 그녀는 (지금) 체육관에서 운동하고 있기 때문이다.
여기서 be ing의 형태가 있기 때문에, 운동을 하고 있다는 것이 '지금' 일어나고 있다고 봐도 됩니다. 왜냐하면 적어도 화자가 말하고 있는 시점에서 she가 현재진행형으로 운동을 하고 있기 때문입니다.
must는 '~임에 틀림없다'라고 강한 추측을 나타내는 표현입니다.
may는 '~일지도 모른다'...로 해석되는 경향이 있는데, 추측에 대한 자기 주관이 강한 표현입니다.
need는 자체로 본동사입니다. 다른 보조동사랑은 다르게, need to be가 되어야 맞습니다. need to be ~로 쓰여서 'be이하가 될 필요가 있다, be이하일 필요가 있다'라는 의미가 됩니다.
can은 대입해보면 의미가 이상해지므로 답이 아닙니다.
문제를 좀 더 쉽게 해결하는 방법은, 문법적인 clue를 찾는 것입니다. 해당 문장에서, 빈칸에 당연하게 들어가야하는 것은 '보조동사'입니다. (can/should/must 이런거) 그러므로 자연스럽게 보기의 need는 걸러집니다.
** subject가 she(3인칭 단일)인데, be동사가 is로 격변화하지 않고 be 그대로 쓰인 것으로 보아, 보조동사가 앞에 왔다고 할 수 있습니다.
보조동사가 답이라는 것은 확실히 알겠는데, 1~4번 모두 보조동사인데 뭐가 답인가?...는 이제 문맥을 봐야합니다. (어떤 상황에서 어떤 단어가 어떤 의도로 쓰였는지를 파악하는 과정입니다.)
must처럼, can/cannot도 추측을 나타낼 떄가 있기는 한데,
can은 문맥상으로 '주관적이고 구체적인 사건의 가능성'보다는 '일반적이고 이론적인 가능성(능력)'을 나타냄.
그리고 cannot은 must not과 비슷하게 '~일 리가 없다' 정도의 꽤나 강한 확신.
그녀가 (지금 체육관에서 운동을 하고 있는걸 보니) 몸이 아플 리가 없다.
추가해보면
100%확신 -> 현재시제를 쓰고 (그녀는 아프지 '않다')
100%확신이 아니고 추측해서 말할 때 -> 확신의 정도에 따라 알맞은 조동사를 사용.
will, must, cannot 같은건 강하게 추측할 때 (그녀는 아플 리가 없다)
may, might, could 같은건 약하게 추측할 때 (그녀는 아마 아프지 않을 것이다)