编程求m—n之间的素数,该区间的数据从主函数中传出,由一个判别素数的函数进行判别后返回主函数输出

img

img


请问一下为什么会输出51这种数字

你这代码不是求m—n之间的素数啊
你可以参考如下代码:

#include <stdio.h>
int isprime( int n);
int main()
{
    int sum = 0;
    int q,w,i;
    scanf("%d%d",&q,&w);
    for( i=q; i<=w; i++ ) {
        if(isprime(i)){
            printf("%d ", i);
            sum++;
        }
    }
    printf("\n共有%d个素数", sum);
    return 0;
}
int isprime(int n)
{
    int i;
    if(n<=3) return n>1;
    for(i=2;i*i<=n;i++)
        if(n%i==0) return 0;
    return 1;
}

如有帮助,望采纳!谢谢!