输入精度 e 和 x,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e.要求定义和调用函数求函数近似值、cos(x) = x^0/0!-x^2/2!+x^4/4!-x^6/6!+……求纠错,希望大大能够指出哪里错了,不要重新写#include "stdio.h"#include "math.h"double fact(int n);int main(void) {int repeat,n,ri;double e,sum,x; scanf("%d",&repeat);for(ri=1;ri=e){sum=sum+pow(-1,n+1)*pow(x,2*(n+1))*1.0/(fact(2*(n+1))); n=n+1;}printf("sum = %f\n",sum);}}double fact(int n){int i;double result=1;if(n==0)result=1;elsefor(i=1;i
问题描述:
输入精度 e 和 x,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e.
要求定义和调用函数求函数近似值、cos(x) = x^0/0!-x^2/2!+x^4/4!-x^6/6!+……
求纠错,希望大大能够指出哪里错了,不要重新写
#include "stdio.h"
#include "math.h"
double fact(int n);
int main(void) {
int repeat,n,ri;
double e,sum,x;
scanf("%d",&repeat);
for(ri=1;ri=e){
sum=sum+pow(-1,n+1)*pow(x,2*(n+1))*1.0/(fact(2*(n+1)));
n=n+1;}
printf("sum = %f\n",sum);
}
}
double fact(int n){
int i;
double result=1;
if(n==0)
result=1;
else
for(i=1;i
答
认真看了你的代码,没有问题,
只是我用的VS2010
sum=sum+pow(-1,n+1)*pow(x,2*(n+1))*1.0/(fact(2*(n+1)));
这句里需要改一下,-1改成-1.0
sum=sum+pow(-1.0,n+1)*pow(x,2*(n+1))*1.0/(fact(2*(n+1)));
结果:
没有问题的,你自己运行有什么错误么.