下列给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序: #include<s

admin2022-06-24  31

问题 下列给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
int fun(int n)
{
int i,j,count=0;
printf("\nThe prime number between 3 to%d\n",n);
for(i=3;i<=n;i++)
{
/******found******/
for(     1     ;j<i;j++)
/******found******/
if(     2     %j==0)
break;
/******found******/
if(     3     >=i)
{
count++;
printf(count%157"%5d":"\n%5d",i);
}
}
return count;
}
main( )
{
int n=20,r;
r=fun(n);
printf("\nThe number of prime is:%d\n",r);
}

选项

答案(1)j=2 (2)i (3)j

解析 填空1:j的初始化要从2开始,因为要判断一个数是否为素数,即将其除以从2开始的数字,看有没有被整除的。
填空2:如果碰到有个数字j可以被i整除,那么表示这个数不是素数,要用break直接结束循环,这个时候的j肯定小于i。
填空3:j>=i,表示在上面if(i%j==0)没有成功,所以会循环执行for(j=2;j<i;j++),以致最后j>=i,这样可以知道该数字i就是素数。
转载请注明原文地址:https://jikaoti.com/ti/Ayd0FFFM
0

最新回复(0)