为啥出现这么多的数
c语言吧
全部回复
仅看楼主
level 13
950218s 楼主
#include<stdio.h>
int main()
{
int a;
int i,n=0;
for(a=2;a<=100;a++)
{
for(i=2;i<=a-1;i++)
{
if(a%i==0)break;
if(i<a)
printf("%d",a);
}
}
return 0;
}
这是求100以内素数的程序
可结果为啥是
2016年09月08日 01点09分 1
level 13
950218s 楼主
求大神指点一二[泪][泪][泪]
2016年09月08日 02点09分 2
level 2
修改一下你的第二个判断条件,或者是在printf之后就直接让程序break出来也行。
2016年09月08日 02点09分 3
听不明白,能详细说明一下[泪][泪][泪]
2016年09月08日 02点09分
@950218s 1)将你程序中if(i<a)改掉。2) if(i<a) { printf("%d",a); break; } 写成这个样子。
2016年09月08日 02点09分

2016年09月09日 17点09分
level 7
#include<stdio.h>
int main()
{
int a;
int i,n=0;
for(a=2;a<=100;a++)
{
for(i=2;i<a;i++)
{
if(a%i==0)break;
if(i==a-1)
printf("%d\n",a);
}
}
return 0;
}
2016年09月08日 03点09分 4
level 14
a=5,i=2,3,4,你写的每一次判断以后都会输出a。其余同理
2016年09月08日 03点09分 5
level 6
嵌套循环问题
2016年09月08日 12点09分 6
level 5
#include<stdio.h>
int main()
{
int a;
int i,n=0;
for(a=2;a<=100;a++)
{
for(i=2;i<=a-1;i++)
{
if(a%i==0)break;
}
if(i<a)
printf("%d",a);
}
return 0;
}
2016年09月09日 16点09分 7
[挖鼻]位置你放错了
2016年09月09日 16点09分
level 7
[阴险][阴险][阴险][阴险][阴险]
2016年09月09日 23点09分 10
level 12
for (a = 2; a <= 100; a++)
{
for (i = 2; i <= a-1; i++)
{
if (a%i == 0)
break;
else if (i < a)
printf("%d", a);
}
}
2016年09月10日 00点09分 11
咳咳搞错了,第二个if括号里面是i == a-1[汗]
2016年09月10日 00点09分
回复
幽灵小乾
:为啥要写成i==a-1
2016年09月10日 00点09分
@950218s 这个跟你第二个for里面的a-1的逻辑差不多
2016年09月10日 01点09分
@950218s 对哦,你可是12级大神啊!差点被钓鱼了[不高兴][不高兴]
2016年09月10日 01点09分
level 10
[小乖][小乖]
2016年09月10日 01点09分 13
level 11
死循环
2016年09月10日 05点09分 14
level 10
紧咯莫
2020年08月12日 16点08分 15
level 10
我无聊
2020年08月12日 16点08分 16
level 10
可考虑
2020年08月12日 16点08分 17
1