使用函数显示两个数字之间的质数的 C++ 程序

要理解此示例,您应该具备以下 C++ 编程 主题的知识:

示例:两个区间之间的质数

#include <iostream>
using namespace std;

int checkPrimeNumber(int);

int main() {
    int n1, n2;
    bool flag;

    cout << "Enter two positive integers: ";
    cin >> n1 >> n2;

    // swapping n1 and n2 if n1 is greater than n2
    if (n1 > n2) {
      n2 = n1 + n2;
      n1 = n2 - n1;
      n2 = n2 - n1;
    }

    cout << "Prime numbers between " << n1 << " and " << n2 << " are: ";

    for(int i = n1+1; i < n2; ++i) {
        // If i is a prime number, flag will be equal to 1
        flag = checkPrimeNumber(i);

        if(flag)
            cout << i << " ";
    }

    return 0;
}

// user-defined function to check prime number
int checkPrimeNumber(int n) {
    bool isPrime = true;

    // 0 and 1 are not prime numbers
    if (n == 0 || n == 1) {
        isPrime = false;
    }
    else {
        for(int j = 2; j <= n/2; ++j) {
            if (n%j == 0) {
                isPrime = false;
                break;
            }
        }
    }

    return isPrime;
}

输出

Enter two positive integers: 12
55
Prime numbers between 12 and 55 are:
13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53

为了打印两个整数之间的所有素数, checkPrimeNumber() 函数被创建。这个函数检查一个数是否是素数

n1n2 之间的所有整数传递给这个函数。

如果传递给的数字 checkPrimeNumber() 是质数,则该函数返回真,否则该函数返回假。

如果用户先输入较大的数字,该程序将交换数字。没有交换,这个程序将无法工作。