#按照这个思路哪里错了?

img

#include
void main()
{
int m,n,x,i,k=0;
scanf("%d%d",&m,&n);
for(x=m;x>=m&&x<=n;x++)
for(i=2;i>=2;i++)
{ if(x%i==0)
{
if(i>n-1)
{
printf("%5d",x);
k++;
if(k%5==0)
printf("\n");
break;
}
else if(i
}

}  

}

修改如下,供参考:

#include <stdio.h>
int main()
{
    int m,n,x,i,k=0;
    scanf("%d%d",&m,&n);
    for(x=m;x<=n;x++)
    {
       for(i=2;i<x;i++)
          if(x%i==0) break;
       if(i == x)
       {
           k++;
           printf("%5d",x);//字宽5个字符
           if (k % 5 == 0)//每5个数换行
               printf("\n");
       }
    }
    return 0;
}


你这里第一次进来 x=1 .1/i 什么时候会等于0呢,不是死循环了么

img

我又这样改了一下,能不能帮忙指正一下。

img