あなたが探している情報は、この日記には記されていない可能性が高いです。(検索で来た人用)
にらどんは一杯500円。尚、出前は承っておりません。ご了承下さい。

if (i == count) flag = 0;
かたっぽ解決。お風呂の中だと答えが出やすい。
それにしても「とりあえずこんなもんか」と取った64の要素数
意外と少ないことにびっくり。
たった100までで25個もあるんだよ?
1000だったらいくつになるんだよ、ということですよ。あ、やってみよ、512ぐらい取って。
168個。
多いのか少ないのかよくわからんな。
というわけで完成。

#include
#include

int main(void)
{
char GetMax[5];
int PrimeBox[512];
int Max = 0,count = 0,i = 0,num = 0,flag = 0,PCount = 0;

/*配列PrimeBoxを初期化*/
for (i = 0;i <= 512;i++) {
PrimeBox[i] = NULL;
}

printf("自然数を入力してください:");

do {
fgets(GetMax,sizeof(GetMax),stdin);
Max = atoi(GetMax);
} while (Max <= 0);

for (i = 0;i <= Max;i++) {
flag = 1;
count = 2;

/*割り切れた場合はフラグを折る*/
do {
if (i % count == 0) flag = 0;
count++;
} while (i / 2 > count);

if (i == 1) flag = 0;
if (i == 2) flag = 1;

/*フラグが立っている場合はPrimeBoxにiを代入する*/
if (flag == 1) {
PrimeBox[num] = i;
num++;
}
}

/*PrimeBoxの中身を表示*/
while (PrimeBox[PCount] != NULL) {
printf("[%d]%d\n",PCount,PrimeBox[PCount]);
PCount++;
}

printf("これを数えれば落ち着けるはずです\n");

return 0;
}

入力を受けつけ、その数値までの素数を表示。
フラグ操作を理解しやすいように変更。
1と2の例外処理を追加。
意味のわからない名前だった変数ccをPCountに変更。


PrimeBoxは動的配列にしたほうがいいかもしれない。