写出m 到n之间的素数,不知道为啥一直有重复的😭

img

#include
int main()
{
int m,n,a,r,k=1;
scanf("%d %d",&m,&n);
for(a=m;a<=n;a++)
{
for(r=2;r<=a;r++)
{
if(a==2)
printf("%d",a);
else if(a%r!=0)
printf("%5d",a);
k++;
if(k%5==0&&k!=1)
{
printf("\n");
}

    }
}

}

img

改动处见注释,供参考:

#include<stdio.h>
int main()
{
    int m, n, a, r, k = 0;  //修改
    scanf("%d %d", &m, &n);
    for (a = m; a <= n; a++)
    {
        for (r = 2; r < a; r++) //for (r = 2; r <= a; r++)修改
        {
            //if (a == 2)  修改
            //    printf("%d", a);修改
            //else if (a % r != 0) 修改
            //    printf("%5d", a);修改
            if (a % r == 0)
                break; //修改
        }
        if (a == r){ //修改
            k++;
            printf("%5d", a);
            if (k % 5 == 0 && k != 1)
            {
                printf("\n");
            }
        }
    }
}