问题
填空题
下列给定程序中,函数fun()的功能是:判断一个整数m是否是素数,若是返回l,否则返回0。在main()函数中,若fun()返回1则输出YES,若fun()返回0则输出NO! 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构. 试题程序: #include <conio.h> #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 O; } main ( ) { iht n; clrscr (); printf("\nPlease enter n: "); scanf ("%d", &n); if (fun (n)) printf ("YES\n"); else printf ("NO! \n"); }
答案
参考答案:(1)错误:k++ 正确:k++
解析:(2)错误:if(m=k) 正确:if(m==k) 函数fun()的功能是判断m是否为素数:m从2开始作为除数,并对m取余,若不存在一个数使得余数为0,则m为素数,程序的错误在于if(m=k)语句中的逻辑表达式写成了赋值表达式。