问答题 下列给定程序中,函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。
在main函数中,若fun返回1输出YES,若fun返回0输出NO。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#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 0;
}
void main()
{
int n;
system("CLS");
printf("/nPlease enter n:");
scanf("%d",&n);
if(fun(n))printf("YES/n");
else printf("NO!/n");
}
【正确答案】
【答案解析】k++; if(m==k) [考点]
本题关键字有:C语言语法格式;条件表达式中==和=的区别。
[解析]
(1)k从2开始递增,m对k取余,若不存在使得余数为0的数,则m为素数。
(2)if(m=K)语句中的赋值语句应为比较运算符。