原文: https://beginnersbook.com/2014/06/c-program-to-find-prime-numbers-in-a-given-range/

在执行以下程序时,将要求用户提供范围,然后程序将按顺序显示所提供范围的所有素数。使用此程序,您可以查找介于 1 到 100,100 到 999 等范围内的素数。您只需要输入范围,例如,如果您希望素数从 100 到 999,则在程序提示输入时输入数字 100 和 999。

寻找素数的程序

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int num1, num2, flag_var, i, j;
  5. /* Ask user to input the from/to range
  6. * like 1 to 100, 10 to 1000 etc.
  7. */
  8. printf("Enter two range(input integer numbers only):");
  9. //Store the range in variables using scanf
  10. scanf("%d %d", &num1, &num2);
  11. //Display prime numbers for input range
  12. printf("Prime numbers from %d and %d are:\n", num1, num2);
  13. for(i=num1+1; i<num2; ++i)
  14. {
  15. flag_var=0;
  16. for(j=2; j<=i/2; ++j)
  17. {
  18. if(i%j==0)
  19. {
  20. flag_var=1;
  21. break;
  22. }
  23. }
  24. if(flag_var==0)
  25. printf("%d\n",i);
  26. }
  27. return 0;
  28. }

输出:

  1. Enter two range(input integer numbers only):Prime numbers from 1 and 50 are: 1 50
  2. 2
  3. 3
  4. 5
  5. 7
  6. 11
  7. 13
  8. 17
  9. 19
  10. 23
  11. 29
  12. 31
  13. 37
  14. 41
  15. 43
  16. 47