求所有素数:输入两个正整数m、n,求m~n之间的所有素数。用C语言编程,不用数组

如题所述

#include<stdio.h>
#include<math.h>
int main()
{
    int count,i,x,y,m,n;
    count=0;
    printf("Input m: ");
    scanf("%d",&m);
    printf("Input n: ");
    scanf("%d",&n);
    if(m>n)
    {
        i=m;
        m=n;
        n=i;
    }
        for(x=m;x<=n;x++)
        {
            y=sqrt(x*1.0);
            for(i=2;i<=y;i++)
                if(x%i==0)
                    break;
            if(i>y)
            {
                printf("%4d",x);
                count++;
                if(count%6==0)
                printf("\n");
            }
        }
        printf("\n");
        return 0;
     
}


linux下用g++编译测试通过

追问

输出结果我输不出来

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-03
#include <stdio.h>
#include <math.h>
int IsPrime(int x)
{
int i, n = sqrt(x);
if((x > 2) && ((x % 2) == 0)) return 0;
for(i = 3; i <= n; i += 2)
if((x % i) == 0) return 0;
return 1;
}

void main( )
{
int i, m, n;
scanf("%d %d", &m, &n);
for(i = m; i <= n; i++)
if(IsPrime(i)) printf("%d\t", i);
}
相似回答