C Program to Display Prime Numbers Between Intervals Using Function | C programs for beginners

In this example, you will learn to print all prime numbers between two numbers (entered by the user).

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

·         C for Loop

·         C break and continue

·         C Functions

·         C User-defined functions

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

·         Check Whether a Number is Prime or Not

·         Swap Two Numbers

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;
}
   Labels : #c ,#code ,#examples ,

Post a Comment