C语言教程
C语言控制语句
C语言函数
C语言数组
C语言指针
C语言字符串
C语言数学函数
C语言结构
C语言文件处理
C预处理器

C 显示两个区间之间的质数的程序

显示两个区间之间的质数的 C 程序

在本例中,您将学习打印用户输入的两个数字之间的所有质数。
要理解此示例,您应该了解以下C 编程 主题:
C if...else 语句 C for 循环 C 中断并继续

显示两个区间之间的质数

#include <stdio.h>
int main() {
   int low, high, i, flag;
   printf("Enter two numbers(intervals): ");
   scanf("%d %d", &low, &high);
   printf("Prime numbers between %d and %d are: ", low, high);
   // iteration until low is not equal to high
   while (low < high) {
      flag = 0;
      // ignore numbers less than 2
      if (low <= 1) {
         ++low;
         continue;
      }
      // if low is a non-prime number, flag will be 1
      for (i = 2; i <= low / 2; ++i) {
         if (low % i == 0) {
            flag = 1;
            break;
         }
      }
      if (flag == 0)
         printf("%d ", low);
      // to check prime for the next number
      // increase low by 1
      ++low;
   }
   return 0;
}
输出
Enter two numbers(intervals): 20 
50
Prime numbers between 20 and 50 are: 23 29 31 37 41 43 47
在这个程序中, while 循环被迭代( high-low-1) 次。
在每次迭代中,检查 low是否为质数, low的值递增 1,直到 low 等于 high
访问此页面以了解有关如何检查数字是否为质数的更多信息.
如果用户先输入较大的数字,则上述程序无法按预期运行。您可以通过交换数字来解决此问题。

先输入较大数字时显示质数

#include <stdio.h>
int main() {
   int low, high, i, flag, temp;
   printf("Enter two numbers(intervals): ");
   scanf("%d %d", &low, &high);
   // swap numbers if low is greather than high
   if (low > high) {
      temp = low;
      low = high;
      high = temp;
   }
   printf("Prime numbers between %d and %d are: ", low, high);
   while (low < high) {
      flag = 0;
      // ignore numbers less than 2
      if (low <= 1) {
         ++low;
         continue;
      }
      for (i = 2; i <= low / 2; ++i) {
         if (low % i == 0) {
            flag = 1;
            break;
         }
      }
      if (flag == 0)
         printf("%d ", low);
      ++low;
   }
   return 0;
}
访问此页面以了解如何通过创建显示两个区间之间的所有质数一个用户定义的函数
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4