C Program do wyświetlania liczb pierwszych między przedziałami za pomocą funkcji

W tym przykładzie nauczysz się wypisywać wszystkie liczby pierwsze między dwiema liczbami (wprowadzonymi przez użytkownika).

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w C:

  • C jak pętla
  • C przerwij i kontynuuj
  • Funkcje C
  • C Funkcje zdefiniowane przez użytkownika

Aby znaleźć wszystkie liczby pierwsze między dwiema liczbami całkowitymi, checkPrimeNumber()tworzony jest. Ta funkcja sprawdza, czy liczba jest liczbą pierwszą, czy nie.

Liczby pierwsze między dwiema liczbami całkowitymi

#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; ) 

Wynik

Wpisz dwie dodatnie liczby całkowite: 12 30 Liczby pierwsze od 12 do 30 to: 13 17 19 23 29 

Jeśli użytkownik wpisze najpierw większą liczbę, program nie będzie działał zgodnie z przeznaczeniem. Aby rozwiązać ten problem, musisz najpierw zamienić liczby.

Interesujące artykuły...