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

admin2019-02-02  32

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

最新回复(0)