C语言编程求正弦,、已知求正弦 sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3!+ x5/5!
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/04 07:26:13
C语言编程求正弦,、
已知求正弦 sin(x) 的近似值的多项式公式为:
sin(x) = x - x3/3!+
x5/5!- x7/7!+ …… + (-1)n
x2n+1/(2n+1)!+ …
编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε.
#include
#include
main()
{double sum,t,x,c,s;
int n=1;
scanf("%f %f",&x,&c);
t=x;sum=x;
do
{s=sum;
n=n+2;
t=t*(-x*x)/((n-1)*n);
sum=s+t;}
while(fabs(sum/s)>=c);
printf("%f\n",sum);
}
这是我的程序,怎么不对呢?输出的都是乱的,本人新手、
已知求正弦 sin(x) 的近似值的多项式公式为:
sin(x) = x - x3/3!+
x5/5!- x7/7!+ …… + (-1)n
x2n+1/(2n+1)!+ …
编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε.
#include
#include
main()
{double sum,t,x,c,s;
int n=1;
scanf("%f %f",&x,&c);
t=x;sum=x;
do
{s=sum;
n=n+2;
t=t*(-x*x)/((n-1)*n);
sum=s+t;}
while(fabs(sum/s)>=c);
printf("%f\n",sum);
}
这是我的程序,怎么不对呢?输出的都是乱的,本人新手、
首先 你定义了double类型 而scanf();中用的是%f.
float型对应用%f
double型对应用%lf
这是第一个错误,输入的数值根本就没读进去.
不过这不是唯一的错误,等我继续调试.
.
printf()处也用%lf
fabs(sum/s)改为fabs(sum-s).毕竟是前后两次的结果相减的差小于ε时满足精度.
编译通过,运行正确.
初学做到这样不错了,继续加油!
再问: 嗯,改完了能通过了,调试时候也正确,但是上交作业由机器测定结果有一个不能通过怎么回事,是哪有漏洞
再答: 有一点有所忽略 fabs(sum-s)时,默认sum和s是同号的了。不过这一点是不确定的。 写成fabs(fabs(sum)-fabs(s))再试试。
float型对应用%f
double型对应用%lf
这是第一个错误,输入的数值根本就没读进去.
不过这不是唯一的错误,等我继续调试.
.
printf()处也用%lf
fabs(sum/s)改为fabs(sum-s).毕竟是前后两次的结果相减的差小于ε时满足精度.
编译通过,运行正确.
初学做到这样不错了,继续加油!
再问: 嗯,改完了能通过了,调试时候也正确,但是上交作业由机器测定结果有一个不能通过怎么回事,是哪有漏洞
再答: 有一点有所忽略 fabs(sum-s)时,默认sum和s是同号的了。不过这一点是不确定的。 写成fabs(fabs(sum)-fabs(s))再试试。
C语言编程求正弦,、已知求正弦 sin(x) 的近似值的多项式公式为:sin(x) = x - x3/3!+ x5/5!
已知求sin(x)的近似值的多项式公式为:sin(x)=x-x3/3!+x5/5!-x7/7!+
(一) 已知求sin(x)的近似值的多项式公式为:sin(x)=x-x3/3!+x5/5!-x7/7!+……+(-1)n
已知求正弦 sin(x) 的近似值的多项式公式为:
C语言编程求正弦 sin(x) 的近似值如题
c语言编程 求sin(x)的近似值 描述:利用公式求sin(x)的近似值(精度为10e-6).sin(x)=x-x^3/
C语言求sin(x)的近似值
C语言编程找错误:计算 sin(x)=x - x3/3!+ x5/5!- x7/7!+ ……直到最后一项的绝对值小于10
求sinx的近似值利用公式求sin(x)的近似值(精度为10e-6).sinx=x-x3/3!+.
c语言求sin(x)近似值的问题!
SIN(X)=X-X3/3!+X5/5!-X7/7!+.X3代表3次方,/代表除法 用C编程啊,
用C语言编程设计程序求解方程 X5+3X3+7=0的解.(X5为X的5次方,X3是X的3次方)