填空题
下列给定程序中函数fun的功能是:计算并输出high以内最大的10个素数的和。high的值由主函数传给fun函数。
例如,若high的值为100,则函数的值为732。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <conio.h>
#include <stdio.h>
#include <math.h>
int fun(int high)
{ int sum=0, n=0, j, yes;
/* * * * * * * * * *found* * * * * * * * * * /
while((high>=2) && (n<10)
{ yes=1;
for (j=2; j<=high/2; j++)
if(high% j==0)
{ /* * * * * * * * * *found* * * * * * * * * * /
yes=0; break
}
if(yes)
{ sum+=high;
n++;
}
high--;
}
return sum;
}
main()
{ printf("% d", fun(100));
}
【正确答案】(1)while((high>=2)&&(n<10))
(2)yes=0; break;
【答案解析】[解析] 本题考查:C语言程序的语法格式。
第一处while循环条件丢掉一个括号。另一处是很简单的程序语法错误,没有加分号。