#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呢,不是死循环了么
我又这样改了一下,能不能帮忙指正一下。