原文: https://www.programiz.com/c-programming/examples/prime-interval-function

在此示例中,您将学习如何打印两个数字之间的所有质数(由用户输入)。

要理解此示例,您应该了解以下 C 编程主题:


为了找到两个整数之间的所有质数,创建了checkPrimeNumber()。 此函数检查数字是否为质数


两个整数之间的质数

  1. #include <stdio.h>
  2. int checkPrimeNumber(int n);
  3. int main() {
  4. int n1, n2, i, flag;
  5. printf("Enter two positive integers: ");
  6. scanf("%d %d", &n1, &n2);
  7. printf("Prime numbers between %d and %d are: ", n1, n2);
  8. for (i = n1 + 1; i < n2; ++i) {
  9. // flag will be equal to 1 if i is prime
  10. flag = checkPrimeNumber(i);
  11. if (flag == 1)
  12. printf("%d ", i);
  13. }
  14. return 0;
  15. }
  16. // user-defined function to check prime number
  17. int checkPrimeNumber(int n) {
  18. int j, flag = 1;
  19. for (j = 2; j <= n / 2; ++j) {
  20. if (n % j == 0) {
  21. flag = 0;
  22. break;
  23. }
  24. }
  25. return flag;
  26. }

输出

  1. Enter two positive integers: 12
  2. 30
  3. Prime numbers between 12 and 30 are: 13 17 19 23 29

如果用户首先输入较大的数字,则该程序将无法正常工作。 要解决此问题,您需要先交换数字。