我有一个程序可以在用户输入范围 (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/