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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 04:26:30
C语言 输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(

C语言 输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(
C语言 输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小
输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。
【输入形式】
输入两个浮点数:精度e和实数x
【输入输出样例1】(下划线部分表示输入)
e:0.001
x:1
cos(x)=0.540
-----------------------------------------
为什么出来的都是0,
逐步调试后,发现while那里,明明item=1.800>e的,却直接跳出循环了,为什么,该怎么改.
#include
double fact(int n)
{
\x05int i;
\x05double s=1;
\x05for(i=1;i=e){
\x05\x05item=flag*pow(x,2i)/fact(2i);
\x05\x05flag=-flag;
\x05\x05i++;
\x05\x05cos=cos+item;
\x05}
\x05return cos;
}
#include
int main()
{
\x05int x;
\x05double e;
\x05printf("e:");
\x05scanf("%lf",&e);
\x05printf("x:");
\x05scanf("%d",&x);
\x05printf("cos(x)=%.3lf",funcos(e,x));
\x05return 0;
}

C语言 输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(
因为你的item 一开始没有初始化 编译器就给你一个特别小的负数 所以你运行 就直接跳出while循环了