こういうことだな。
for(j = i*2; j <= MAX ; j+=i) {
checklist[j] = 1;
}
この辺はなんかがオカシイと思っていたのだが、惰性で書いてた。
ご指摘の通りです。

>int checklist[101]={0}; で可
これは忘れていたか、知らなかったか分からない。
10年くらい前にCの本で読んだ気もするが。

>>779
>自分の未熟さを出題者の言葉でごまかすのは良くない。
俺は未熟だが、依頼主の要望に応えられないのでは価値が無いだろ?