在你的第二个for循环中a<=i,这样如果i=3,a=3时,i%a==0成立,没有输出,另外,不应该每次判断玩都输出,例如i=7,a分别等于2、3、4、5、6,应该都判断除不尽才证明i是素数
下面是我的代码:
#include
int main()
{
int a,i,n;
scanf("%d",&n);
for(i=3;i<=n;i++)
{
for(a=2;a {
if(i%a==0&&a!=i)
break;
}
if(a==i)
printf("%5d",i);
}
return 1;
}
#include
int main()
{
int a,i,n;
scanf("%d",&n);
for(i=2;i<=n;i++) //2也是素数
{
for(a=2;a {
if(i%a==0&&(a!=i)) //去掉被自己整除 如是素数一直加直至等于自身
break;
}
if(a==i) //只能被自己整除
printf("%d ",i);
}
return 0;
}
#include
int main()
{
int n,i,j;
scanf("%d",&n);
for(n;n>=1;n--)
{
for(i=2;i
if(n%i==0)
break;
}
if(n==i)
printf("%d ",n);
}
printf("1 ");
return 0;
}
问题不全无法解答