给定程序MODll.c中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include int f

admin2013-04-02  41

问题 给定程序MODll.c中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
int fun(int m)
{int i, k ;
   for (i = m + 1 ; ; i++) {
      for (k = 2 ; k < i ; k++)
/**************found**************/
         if (i%k !=0) break;
            break ;
/**************found**************/
         if (k           return(i);
   }
}
void main()
{
  int n ;
  n = fun(20);
  printf("n=%d\n", n);
}

选项

答案if (i%k==0) if (k>=i)

解析 (1)“if (i%k !=0) break;”说明k是i的因子的情况,i肯定不是素数可直接跳出循环,因此第一标识下应改成“if (i%k==0)”。
(2)“if (k=i时i是素数,故第二标识下应改为“if (k>=i)”。
转载请注明原文地址:https://kaotiyun.com/show/vDJp777K
0

最新回复(0)