C语言求余弦值

输入精度e和实数x,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。我... 输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。
我写的代码是
#include<stdio.h>
#include<math.h>
int main(void)
{
int j=1;
double x,e,count=0;
double jiecheng(int n){
int i;
double sum=1;
for(i=1;i<=n;i++){
sum=sum*i;}
return sum;}
double fang(int x,int n){
double sum;
sum=pow(x,n);
return sum;}
printf("e: ");
scanf("%lf",&e);
printf("x: ");
scanf("%lf",&x);

do{
count=count+(pow(-1,j-1))*fang(x,2*(j-1))/jiecheng(2*(j-1));
}while (fang(x,2*(j-1))/jiecheng(2*(j-1))>e);

printf("%lf",count);
}
麻烦高手看一下哪里错了
展开
 我来答
巨访梦0hB
推荐于2018-03-29 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:83
采纳率:0%
帮助的人:77.7万
展开全部
唉,程序写得相当不规范,看着好头疼;函数应该放在main外面……
#include<stdio.h>
#include<math.h>
double jiecheng(int n)
{
int i;
double sum=1;
for(i=1;i<=n;i++)
{
sum=sum*i;
}
return sum;
}
double fang(int x,int n)
{
double sum;
sum=pow(x,n);
return sum;
}

int main(void)
{
int j=1;
double x,e,count=0;
printf("e: ");
scanf("%lf",&e);
printf("x: ");
scanf("%lf",&x);

do{
count=count+(pow(-1,j-1))*fang(x,2*(j-1))/jiecheng(2*(j-1));
}while (fang(x,2*(j-1))/jiecheng(2*(j-1))>e);
printf("%lf",count);
}
//可以运行了,但是答案输出来还是有问题……自己查查你的算法,我就不看了,晕的慌
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式