问答题
给定程序MODI1.C中函数 fun 的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。
若high的值为: 100, 则函数的值为: 732。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
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/n", fun (100));
}
【正确答案】第一处:括号没有匹配。
Error: While statement missing ) in function fun
在函数fun中While语句缺少)。
第二处:缺少分号。
Error: Break statement missing ; in function fun
在函数fun中break语句缺少;。
这种题型只要通过编译即可发现程序的错误所在。