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

admin2017-06-20  12

问题 给定程序MODll.C中函数fun的功能是:判断一个整数是否是素数,若是返回1,否则返回0。
    在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!
    #include
    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是否是素数。素数是只能被l和本身整除的正整数(>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/K0ID777K
0

相关试题推荐
随机试题
最新回复(0)