In questo esempio, imparerai a stampare tutti i numeri primi tra due numeri (inseriti dall'utente).
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione in C:
- C per Loop
- C interrompi e continua
- Funzioni C.
- C Funzioni definite dall'utente
Per trovare tutti i numeri primi tra i due interi, checkPrimeNumber()
viene creato. Questa funzione controlla se un numero è primo o meno.
Numeri primi tra due interi
#include int checkPrimeNumber(int n); int main() ( int n1, n2, i, flag; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); printf("Prime numbers between %d and %d are: ", n1, n2); for (i = n1 + 1; i < n2; ++i) ( // flag will be equal to 1 if i is prime flag = checkPrimeNumber(i); if (flag == 1) printf("%d ", i); ) return 0; ) // user-defined function to check prime number int checkPrimeNumber(int n) ( int j, flag = 1; for (j = 2; j <= n / 2; ++j) ( if (n % j == 0) ( flag = 0; break; ) ) return flag; )
Produzione
Immettere due numeri interi positivi: 12 30 I numeri primi compresi tra 12 e 30 sono: 13 17 19 23 29
Se l'utente inserisce prima il numero più grande, questo programma non funzionerà come previsto. Per risolvere questo problema, devi prima scambiare i numeri.