C Program to Display Prime Numbers Between Intervals Using Function

To understand this example, you should have the knowledge of the following C programming topics:

Make sure you visit these tutorials before looking at this example:

Prime Numbers Between Two Integers

``````#include <stdio.h>
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

if (flag == 1) {
printf("%d ", i);
}
}

return 0;
}

// user-defined function to check prime number
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) {
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;
}
``````