例题:请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):
程序运后,如果输入精度0.0005,则程序输出为3.140578。
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
代码如下:
#include<stdio.h>
#include<math.h>
double fun(double e)
{
double s;
float n,t,pi;
t=1;pi=0;n=1.0;s=1.0;
while((fabs(s))>=e)
{
pi+=s;
t=n/(2*n+1);
s*=t;
n++;
}
pi=pi*2;
return pi;
}
main()
{
double y;
FILE*out;
printf("Input e:");
scanf("%lf",&y);
printf("\ne=%lf,PI=%lf\n",y,fun(y));
out=fopen("outfile.dat","w");
fprintf(out,"e=%lf,PI=%lf\n",0.00003,fun(0.00003));
fclose(out);
}
输出运行窗口如下:
本周其他练习
C语言程序设计专栏
C语言编程>第九周 ① 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int b[][N]),该函数的功能是:使数组左下半三角元素的值会全部置成0。
C语言编程>第九周 ② 请编写一个函数unsigned(unsigned n),n是一个大于10的无符号整数,若n是m(m≥2)位的整数,则函数求出n的后m-1位的数作为函数值返回。
C语言编程>第九周 ③ 请编写一个函数fun(char*str)该函数的功能是把字符串中的内容逆置。
C语言编程>第九周 ④ 编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。yn+1=cos(yn)
C语言编程>第九周 ⑤ 请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):
C语言编程>第九周 ⑥ 请编写一个函数fun,它的功能是:将s所指字符串中所有下标为奇数位置上的字母转换为小写(若该位置上下是字母,则不转换)。
C语言编程>第九周 ⑦ 请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最小元素的值,并将最小值返回调用函数。
C语言编程>第九周 ⑧ 请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并的方式是:将x数的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的百位和个位上。
越努力越幸运!
加油,奥力给!!!