填空题
请补充函数fun(),该函数的功能是判断一个数是否为素数。该数是素数时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include "conio.h"
#include "stdio.h"
{{U}} 【1】 {{/U}}
{
int i, m;
m=1;
for(i={{U}} 【2】 {{/U}};i<n; i++)
if ({{U}} 【3】 {{/U}})
{
m=0;
break;
}
if(m==1&&n>1)
return("yes!");
else
return("no!");
}
main()
{
int k=0;
clrscr();
printf("Input:");
scanf("%d",&k);
printf("%s/n",fun(k));
}
【正确答案】
1、[1] char *fun(int n) [2] 2 [3] n%i==0或!(n%i)
【答案解析】[解析] 填空1:根据main()中调用的函数fun(k),可知函数fun的形参为int型变量,函数的返回值为字符型指针。填空2:判断一个数是否为素数时,也就是判断这个数是否有除了1和其自身之外的因子,所以for循环的变量从2开始,直到这个数的前一个数。填空3:如果一个数能被除了1和其自身之外的数整除,即余数为0,则这个数不是素数。