问题 填空题

下列给定程序中,函数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)语句中的逻辑表达式写成了赋值表达式。

选择题
问答题 简答题