I dette eksemplet lærer du å skrive ut alle primtall mellom to tall (skrevet inn av brukeren).
For å forstå dette eksemplet, bør du ha kunnskap om følgende C-programmeringsemner:
- C for Loop
- C bryte og fortsette
- C Funksjoner
- C Brukerdefinerte funksjoner
For å finne alle primtallene mellom de to heltallene, checkPrimeNumber()
opprettes. Denne funksjonen sjekker om et tall er primtall eller ikke.
Primtall mellom to heltall
#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; )
Produksjon
Skriv inn to positive heltall: 12 30 Primtall mellom 12 og 30 er: 13 17 19 23 29
Hvis brukeren angir det større tallet først, vil ikke dette programmet fungere som beregnet. For å løse dette problemet, må du bytte ut tallene først.