下列給定程序中,函數(shù)fun()的功能是計(jì)算并輸出high以內(nèi)的素?cái)?shù)之和。high由主函數(shù)傳給fun()函數(shù)。 例
下列給定程序中,函數(shù)fun()的功能是計(jì)算并輸出high以內(nèi)的素?cái)?shù)之和。high由主函數(shù)傳給fun()函數(shù)。
例如:若high的值為100,則函數(shù)的返回值為1060。
請(qǐng)改正程序中的錯(cuò)誤,使它能得到正確結(jié)果。
[注意] 不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
[試題源程序]
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)錯(cuò)誤:ifhigh%j==0 正確:if(high%j==0) (2)錯(cuò)誤:if(yes==0) 正確:if(yes)(1)錯(cuò)誤:ifhigh%j==0 正確:if(high%j==0) (2)錯(cuò)誤:if(yes==0) 正確:if(yes) 解析:fun函數(shù)的功能是:用while循環(huán)查找high以內(nèi)的素?cái)?shù);用for循環(huán)判斷一個(gè)數(shù)是否為素?cái)?shù);用變量n記錄找到的素?cái)?shù)的個(gè)數(shù):用return返回素?cái)?shù)之和sum。 錯(cuò)誤1:這個(gè)錯(cuò)誤比較明顯,if語句的兩側(cè)要加括號(hào)。 錯(cuò)誤2:yes為1
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。