问答题 给定程序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语句缺少;。 这种题型只要通过编译即可发现程序的错误所在。
【答案解析】