给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0。 在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行

admin2020-06-16  25

问题 给定程序MODI1.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0。
  在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!
    #include<stdio.h>
    int fun(int m)
    {  int k=2;
       while(k<=m&&(m%k))
    /************found************/
        k++
    /************found************/
      if(m=k)return 1;
      else return 0;
    }
    main()
    {  int n;
       printf("\nPlease enter n:");scanf("%d“,&n);
       if(fun(n))printf("YES\n");
       else printf("NO!\n");}

选项

答案(1)k++; (2)if(m==k)

解析 本题中函数的功能是判断一个整数n是否是素数。素数是只能被1和本身整除的正整数(>1),所以判别n是否为素数,只要用2、3、…、n-1这些数逐个去除n,观察余数是否为0即可,只要有一次相除余数为0,n就不是素数,否则n为素数。
(1)第一个标识下“k++”语句没有结束符分号,所以将“k++”改为“k++”。(2)第二个标识下的“if(m=k)”语句应该是判断m是否素数,而原题中是将k的值赋给m,并不表示是否m等于k,所以第二个标识下“if(m=k)”应该改为“if(m==k)”。
转载请注明原文地址:https://kaotiyun.com/show/GOCp777K
0

最新回复(0)