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

admin2019-06-12  35

问题 下列给定程序中,函数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://jikaoti.com/ti/AEf0FFFM
0

最新回复(0)