編程題
編寫函數(shù)fun,它的功能是:
根據(jù)下列公式求 的值,(要求滿足精度0.0005,即某項小于0.0005時停止迭代):
程序遠(yuǎn)行后,如果輸出精度為0.0005,則輸出為3.14…
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include
#include
double fun ( double eps)
{
}
main()
{
double x;
FILE *out;
printf("Input eps:");
scanf("%lf",&x);
printf("\neps=%lf, PI=%lf\n", x, fun(x));
out=fopen("out.dat", "w");
fprintf(out, "eps=%lf, PI=%lf\n", 0.00003, fun(0.00003));
fclose(out);
}
答案是:
double fun(double eps)
{
double s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1.0;
while((fabs(s))>=eps)
{
pi+=s;
t=n/(2*n+1);
s*=t;
n++;
}
pi=pi*2;
return pi;
}
編輯推薦:
2014年上半年計算機等級考試報名時間預(yù)告
2014年計算機等級考試考試時間預(yù)測
2013年9月計算機等級考試成績查詢時間及方式預(yù)告