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

admin2018-01-14  21

问题    下列给定程序中,函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。
   请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
   注意:不得增行或删行,也不得更改程序的结构!
   试题程序:
   #include<stdio.h>
   int fun(int n)
   {
   int i,j,count=0;
   printf("The 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%15? "%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://kaotiyun.com/show/UHxp777K
0

随机试题
最新回复(0)