本帖最后由 几番意难相付 于 2014-1-4 14:59 编辑
先说说你程序的逻辑
1,定义一个变量 用来判断某个数是否符合质数的条件
2,定义一个循环 循环次数为100到1000的差,也就是在100到1000中找你需要的数
3,没循环一次 就用这个数除以该数到1之间的每个值
4,如果在执行上面的循环的过程中 该数能被另一个数整除 则跳出循环
5,如果这个数不能被其他数整除 则将第一步中定义的变量的值改为1
6 ,判断第一步中定义的变量的值 如果是1就打印i的值
说说你的程序为什么出错
在第6步上,假如一个数不能被其他的数整除 x的值就变为1了
此后 x的值没有被其他代码改变过 也就是x始终都为1 打印语句的if(x==1)这句代码就永远成立导致i的值始终被打印
解决方法 像我上面的代码那样 如果这个数不是质数 则把x的值改为0 继续下一次循环
|