>>243

#include <stdio.h>
#include <math.h>

int IsPrime( int n ) {
    int max = (int)sqrt(n);
    int i = 2;
    while( i <= max && n % i != 0 )
        i++;
    return max < i;
}

int main( int argc, char** argv ) {
    int i = 2;
    int count = 0, sum = 0;
    while( count <= 100000 ) {
        if( IsPrime(i) ) {
            if( ++count % 1000 == 0 ) {
                printf( "prime[%d] : %d\n", count, i );
                sum += i;
            }
        }
        i++;
    }
    printf( "%d\n", sum );
}

「配列を使わない」って、「エラトステネスのふるいを使うな」か?
であれば、これでいいはず。
( 検算はして無いから、大ポカやってる可能性もあり。 )