问题 填空题

下列给定程序中,函数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:if语句的两侧要加括号。错误2:yes为1时,说明被判断的数为素数,要加入总和。

实验题
单项选择题