Make sure you visit these tutorials before looking at this example:
Prime Numbers Between Two Integers
#include <stdio.h> int checkPrimeNumber(int n); int main() { int n1, n2, i, flag; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); // swap n1 and n2 if n1 > n2 if (n1 > n2) { n1 = n1 + n2; n2 = n1 - n2; n1 = 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; } Output
Enter two positive integers: 12 30 Prime numbers between 12 and 30 are: 13 17 19 23 29
Explanation
1. In this program, we print all the prime numbers between n1 and n2. If n1 is greater than n2, we swap their values:
if (n1 > n2) { n1 = n1 + n2; n2 = n1 - n2; n1 = n1 - n2; } 2. Then, we run a for loop from i = n1 + 1 to i = n2 - 1.
In each iteration of the loop, we check if i is a prime number using the checkPrimeNumber() function.
If i is prime, we print it.
for (i = n1 + 1; i < n2; ++i) { flag = checkPrimeNumber(i); if (flag == 1) printf("%d ", i); } } 3. The checkPrimeNumber() function contains the code to check whether a number is prime or not.
int checkPrimeNumber(int n) { int j, flag = 1; for (j = 2; j <= n / 2; ++j) { if (n % j == 0) { flag = 0; break; } } return flag; } 