输出m~n间的全部素数。要求每个数输出字宽为5个字符,每输出5个素数换一行

用c语言如何编程:
输出m~n间的全部素数。要求每个数输出字宽为5个字符,每输出5个素数换一行

解答如下

img

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

加一个判断素数的函数

//输出m~n间的全部素数。要求每个数输出字宽为5个字符,每输出5个素数换一行
#include <stdio.h>
int isprime(int n)
{
    if(n<2)
        return 0;
    for(int i=2;i*i<=n;i++)
        if(n%i==0)
            return 0;
    return 1;
}
int main()
{
    int m,n,sum=0;
    scanf("%d%d",&m,&n);
    for(int i=m;i<=n;i++)
    {
        if(isprime(i) == 1)
        {
            sum++;
            printf("%5d ",i);
            if(sum%5==0)
                printf("\n");
        }
    }
}

img

img

img