字典翻译 问答 其它 【问题描述】输入精度e和实数x,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e。【问题描述】输入精度e和实数x,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e&#653
问题标题:
【问题描述】输入精度e和实数x,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e。【问题描述】输入精度e和实数x,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e&#653
问题描述:

【问题描述】输入精度e和实数x,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e。

【问题描述】

输入精度e和实数x,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。

【输入形式】

输入两个浮点数:精度e和实数x

【输入输出样例1】(下划线部分表示输入)

e:0.001

x:1

cos(x)=0.540

【样例说明】

输入提示符后要加一个空格.例如“e:”,其中“:”后要加一个且只能一个空格.

输出语句的“=”两边无空格

计算结果保留3位小数

英文字母区分大小写.必须严格按样例输入输出.

#include

#include

intmain(void)

{

doublex,e,cosx;

doublefuncos(doublee,intx);

printf("e:");

scanf("%lf",&e);

printf("x:");

scanf("%d",&x);

cosx=funcos(e,x);

printf("cos(x)=%.3fn",cosx);

return0;

}

doublefuncos(doublee,intx)

{

intflag,a,item,i;

doublesum;

doublefact(intn);

item=0;

flag=1;

a=0;

i=0;

sum=0;

while(fabs(item)>=e){

item=(flag*pow(x,a))/fact(i);

sum=sum+item;

flag=-flag;

a=a+2;

i=i+2;

}

returnsum;

}

doublefact(intn)

{

inti;

doubleresult;

result=1;

for(i=1;i

郝国华回答:
  #include<stdio.h>   #include<math.h>   int main(void)   {   double x, e,cosx;   double funcos(double e,int x);   printf("e: ");   scanf("%lf",&e);   printf("x: ");   scanf("%lf",&x); //这里是%lf   cosx=funcos(e,x);   printf("cos(x)=%.3fn",cosx);   return 0;   }   double funcos(double e,int x)   {   int flag,a,i;   double sum,item;   double fact(int n);   item=1; //这个初始化要大于e,否则不执行下面   flag=1;   a=0;   i=0;   sum=0;   while(fabs(item)>=e){   item=(flag*pow(x,a))/fact(i);   sum=sum+item;   flag=-flag;   a=a+2;   i=i+2;   }   return sum;   }   double fact(int n)   {   int i;   double result;   result=1;   for(i=1;i<=n;i++){   result=result*i;   }   return result;   }
点击显示
其它推荐
热门其它推荐
  • 其它