100以内的素数取余不等于0的时候

#include<stdio.h>
int main(){//1~100的所有素数
for(int i=2;i<100;i++){
for(int z=2;z<i;z++){
if( (i%z)!= 0){//判断i取余不等于0
printf("%d",i);
break;}

  }
}
return 0;

}
运行结果:3456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
为什么4,8都变成素数,乱套了

判断素数逻辑错了,需要遍历完内循环后,没有满足if条件的才是素数。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632