早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求s的近似值.s=1+1/2*2+1/3*3+1/4*4.+1/n*n.在begin和end之间编写哦!#include"stdio.h"#include"math.h"#include"stdlib.h"doublefun(intn){//}voidmain(){doubles;intn;//clrscr();printf("Entern:\n");scanf

题目详情
求s的近似值.s=1+1/2*2+1/3*3+1/4*4.+1/n*n. 在begin和end之间编写哦!
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
double fun(int n)
{
//
}
void main()
{ double s;
int n;
//clrscr();
printf("Enter n:\n");
scanf("%d",&n);
s=fun(n);
printf("s= %.3f\n",s);
NONO( );
}
NONO( )
{ FILE *fr,*fw;
int i,m;
fr=fopen("D:\\exam\\01910311\\PROGIN.DAT","r");
fw=fopen("D:\\exam\\01910311\\PROGOUT.DAT","w");
for(i=1;i
▼优质解答
答案和解析
用For语句没有问题.但应该把 pi=pi+t 放到后面,应为执行完for下面的大括号才执行 这句 n=n+2
严格按照你列出来的等式,每执行一次for循环体进行一次算术运算,改成下面这样就可以了
#include
#include
int main()
{
int s;
double t,n,pi;
s=-1,t=1,n=1.0,pi=0;
for(t=1;fabs(t)>=1e-6;n=n+2)
{
s=-s;
t=s/n;
pi=pi+t;
}
pi=pi*4;
printf("%.6f\n",pi);
return 0;
}