问答题 下列给定程序中,函数fun的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>int fun(int m){ int i,k; for(i=m+1;;i++) { for(k=2;k<i;k++)/*********found*********/ if(i%k!=0) break;/*********found*********/ if(k<i) return(i); }}void main(){int n; system("CLS"); printf("\nPlease enter n:"); scanf("%d",&n); print;f('%d\n',fun(n));}
【正确答案】正确答案:(1)if(i%k==0) (2)if(k==i)
【答案解析】解析:(1)判断当前数是否为素数,若存在一个数(除1和其自身)能整除当前数,则跳出本次循环,所以if条件应为i%k==0。 (2)如果i是素数,则循环结束时k==i,将该值返回。