C程序打印接下来的五个质数

标签 c gcc

我有一个程序可以在用户输入范围 (m,n) 内打印五个素数。

我的问题是我想打印大于 m 的数字。并仅打印接下来的五个数字。我不想使用上限。
我该怎么做?

#include <stdio.h>
#include <conio.h>

int main()
{
 int m,n,i,j,k,flag;


 printf("\nEnter The Lower Limit: ");
 scanf("%d",&m);
 printf("\nEnter The Upper Limit: ");
 scanf("%d",&n);

 printf("\nPrime Numbers Between %d & %d Are:\n",m,n);
 for(i=m ; i<=n ; i++)
 {
  k=i;
  flag=1;
  for(j=2 ; (j<=k/2)&&flag ; j++)
  {
   if(k%j==0)
   flag=0;
  }

  if(flag)
  printf("%3d \n",i);
 }


}

最佳答案

为什么不简单地计算你打印的素数个数呢?

int count = 0;

:

for(i=m ; (i<=n) && (count<5) ; i++)

:

if(flag)
{
  printf("%3d \n",i);
  count++;
}

PS,使用比单个字符更长的名称将有助于使您的程序更易于理解。

关于C程序打印接下来的五个质数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20090928/

相关文章:

c - cuda和矩阵运算中的Grid-Stride Loop,为什么我们需要它?

c - 函数重载 C 多个参数

c - gcc: 错误: libhello.so: 没有那个文件或目录

C 编程 : Recursion

c - 文件 * ..=标准输出 : Error initializer element is not constant

c++ - 在 C++ 抽象类中将回调(对于 C 库)实现为纯虚函数

c - const 指针参数在调用函数时如何优化?

c - Obj 中奇怪的 mod 行为。 C

gcc - 修改gcc以容纳更多寄存器

c++ - gcc '-rdynamic' 标志等同于 MSVC