Get a list of prime numbers in C

This example C program prints a list of the first 100 prime-numbers.

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

int main ()
{
    int max = 100;
    int primes[max];
    int n_primes = 0;
    int i;

    for (i = 2; n_primes < max; i++) {
        int j;

        for (j = 0; j < n_primes; j++) {
            if (i % primes[j] == 0) {
                goto not_prime;
            }
        }
        primes[n_primes] = i;
        n_primes++;

        not_prime:
            ;
    }

    /* Now display the list. */

    printf ("The first %d primes are:\n", max);
    for (i = 0; i < n_primes; i++) {
        printf ("%4d ", primes[i]);
        if (i % 10 == 9) {
            printf ("\n");
        }
    }
    printf ("\n");
    return 0;
}

(download)

The output of the example looks like this:

The first 100 primes are:
   2    3    5    7   11   13   17   19   23   29 
  31   37   41   43   47   53   59   61   67   71 
  73   79   83   89   97  101  103  107  109  113 
 127  131  137  139  149  151  157  163  167  173 
 179  181  191  193  197  199  211  223  227  229 
 233  239  241  251  257  263  269  271  277  281 
 283  293  307  311  313  317  331  337  347  349 
 353  359  367  373  379  383  389  397  401  409 
 419  421  431  433  439  443  449  457  461  463 
 467  479  487  491  499  503  509  521  523  541 



Copyright © Ben Bullock 2009-2023. All rights reserved. For comments, questions, and corrections, please email Ben Bullock (benkasminbullock@gmail.com) or use the discussion group at Google Groups. / Privacy / Disclaimer