C语言(编程),一些语句的意思翻译

int n; printf("整理后得:\n"); for(n=2;n<=100;n++) { int i,y; i=1; y=2; while(y<n&&i) { if(n%y==0) i=0; y++; } if(i) { y++; printf("%d\n",n); } }

对上图片的语句解释

while(y<n&&i)
这个循环的条件相当于y<n 而且 i<>0
程序段的意思是:
n循环是从2 到100
对每个小于n的整数y
若 y能整除n 则i=0,并结束循环
取下一个 y
如果 i<>0 (素数)
则输出 (注意:y++没有意义,可删除)

所以:这段程序的的作用是求100以内的素数追问

请问下,i是什么意思? 小于大于吗?

追答

不等于

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-22
我用java改写了运行下,
我在while语句末加了break;也可以加在最后个if语句中。
如果不加,就会有很多重复的。当然 答案依然是质数,不影响
整理后得:
3
5
7
9
...
99
中间的我给省略了

我在while语句末加了break;也可以加在最后个if语句中。
第2个回答  2014-11-22
for(n=2;n<=100;n++)  
{int i,y; 
i=1; 
y=2; 
while(y<n&&i) 

if(n%y==0) /*检查2到100之间所有数中大于或等于2的公因子,如果存在小于它本身的公因子,i=0,跳出while循环,然后进入for循环对下一个数进行检查
*/
 i=0; 
y++; 

if(i) //如果while循环中没有检查到在2到(n-1)范围内的公因子,运行下面代码

y++; 
printf("%d\n",n); //输出素数
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网