下列给定程序中,函数fun()的功能是计算并输出high以内的素数之和。high由主函数传给fun()函数。若h

10 查阅

下列给定程序中,函数fun()的功能是计算并输出high以内的素数之和。high由主函数传给fun()函数。若high的值为 100,则函数的值为1060。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <stdio.h>

include <math.h>

int fun(int high)

{

int sum=0,n=0,j,yes;

while(high>=2)

{

yes=1;

for(j=2;j<=high/2;j++)

/*************found**************/

ifhigh%j==0

{

yes=0;

break;

}

/*************found**************/

if(yes==0)

{

sum+=high;

n++;

}

high--;

}

return sum;

}

main()

{

clrscr();

printf("%d\n",fun(100));

}

参考答案:

(1)错误:ifhigh%j=0 正确:if(high%j==0)(2) 错误:if(yes==0) 正确:if(yes)(1)错误:ifhigh%j=0 正确:if(high%j==0)(2) 错误:if(yes==0) 正确:if(yes) 解析:错误1:if语句的两侧要加括号。错误2:yes为1时,说明被判断的数为素数,要加入总和。

计算机二级