c语言中的for循环问题,求高手解答,谢谢啦
为什么这个输出是235711131719.能不能解释下过程,刚刚学这块,有点不懂,麻烦了...
为什么这个输出是2 3 5 7 11 13 17 19.能不能解释下过程,刚刚学这块,有点不懂,麻烦了
展开
1个回答
展开全部
#include <stdio.h>//头文件
#include <math.h>//math头文件,因为下面使用了sqrt函数,所以需要定义一下
int main()//主函数,每个程序都有一个主函数
{
int i,n;//定义i 和 n
for(i=2;i<=20;i++)//从i=2开始循环,当i>20的时候停止,每次循环后i加1
{
for(n=2;n<=(int)sqrt(i);n++)//从n=2开始循环,当n>i的平方后停止循环,每次循环n加1
if(i%n==0) break;//如果i除以n的余数是0,停止本次循环
if(n==(int)sqrt(i)+1)//如果n等于i的平方加1
printf("%d\n",i);//输出这个数i
//你的程序没有\n导致输出不能换行,我自己加了换行
}
return 0;
}
追问
很感谢您的回答,我想问,如果是进行break这一步时,i还会进行++这一操作吗。
如果不会,我自己手算,发现8应该是输出来的,请您指点一下。
还有,如果像 4 这类数,是直接break后就不进行其他操作了吗。
再次感谢您~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询