首页 > 其它 > 题目详情
【问题描述】 输入精度e和实数x,用下列公式求cos x的近似值,精确到最后一项的绝对值小于e。【问题描述
题目内容:
【问题描述】 输入精度e和实数x,用下列公式求cos x的近似值,精确到最后一项的绝对值小于e。
【问题描述】
输入精度e和实数x,用下列公式求cos x的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。
【输入形式】
输入两个浮点数:精度e和实数x
【输入输出样例1】(下划线部分表示输入)
e:0.001
x:1
cos(x)=0.540
【样例说明】
输入提示符后要加一个空格.例如“e:”,其中“:”后要加一个且只能一个空格.
输出语句的“=”两边无空格
计算结果保留3位小数
英文字母区分大小写.必须严格按样例输入输出.
#include
#include
int main(void)
{
double x, e,cosx;
double funcos(double e,int x);
printf("e: ");
scanf("%lf",&e);
printf("x: ");
scanf("%d",&x);
cosx=funcos(e,x);
printf("cos(x)=%.3f\n",cosx);
return 0;
}
double funcos(double e,int x)
{
int flag,a,item,i;
double sum;
double fact(int n);
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;
}
return sum;
}
double fact(int n)
{
int i;
double result;
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)=%.3f\n",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;
}
【问题描述】
输入精度e和实数x,用下列公式求cos x的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。
【输入形式】
输入两个浮点数:精度e和实数x
【输入输出样例1】(下划线部分表示输入)
e:0.001
x:1
cos(x)=0.540
【样例说明】
输入提示符后要加一个空格.例如“e:”,其中“:”后要加一个且只能一个空格.
输出语句的“=”两边无空格
计算结果保留3位小数
英文字母区分大小写.必须严格按样例输入输出.
#include
#include
int main(void)
{
double x, e,cosx;
double funcos(double e,int x);
printf("e: ");
scanf("%lf",&e);
printf("x: ");
scanf("%d",&x);
cosx=funcos(e,x);
printf("cos(x)=%.3f\n",cosx);
return 0;
}
double funcos(double e,int x)
{
int flag,a,item,i;
double sum;
double fact(int n);
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;
}
return sum;
}
double fact(int n)
{
int i;
double result;
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)=%.3f\n",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;
}
本题链接: