c语言判断范围素数并输出

【问题描述】给出一个范围[m,n],要求输出 [m,n]范围之内的所有素数。所谓素数是指只能被1和自身整除的数。

【输入形式】输入两个正整数m和n,其中m>2且m<n。

【输出形式】输出[m,n]之间的素数。

【样例输入1】20 40

【样例输出2】

23

29

31

37

【样例输入1】70 90

【样例输出2】

71

73

79

83

89

#include <stdio.h>
char a[10000];
int main()
{

    int m, n;

    scanf("%d%d", &m, &n);

    for (int i = 0; i <= n; i++)
        a[i] = 0;

    for (int i = 2; i <= n; i++)
    {
        if (a[i])
        {
            continue;
        }
        if(i>=m)
        printf("%d\n", i);
        for (int j = 2; i * j <= n; j++)
        {
            a[i * j] = 1;
        }
    }

    return 0;
}

等我下课回宿舍用电脑打给你😀

供参考:

#include <stdio.h>
int IsPrime(int x)
{
   int j;
   if(x <= 3) return x > 1;
   for(j=2;j*j <= x;j++)
       if((x%j)==0) return 0;
   return 1;
}
int main()
{
  int m,n,i;
  scanf("%d%d",&m,&n);
  for(i=m;i<=n;i++)
     if(IsPrime(i))
        printf("%d\n",i);
  
  return 0;
}

#include<stdio.h>
isprm(int n)
{
    if(n<2) return 0;
    for(int j=2; j*j<n; j++)
        if(n%j==0)
            return 0;
    return 1;
}
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    for(int j=m; j<=n; j++)
    {
        if(isprm(j)) printf("%d\n",j);
    }
    return 0;
}