C语言大神请进小弟新手求教

问题描述:

C语言大神请进小弟新手求教
已知求正弦 sin(x) 的近似值的多项式公式为:
sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …
编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε.
此题当然要用到循环语句,到第六章去找个猫来照着画吧,循环的终止条件就是本次计算出来的正弦函数值和上次计算的值的差小于给定的ε.求两个值的差时,要求出其绝对值,使用库函数fabs(),头文件在math.h里.
友情提示:给定的误差值ε越小,计算的精度越高,但是要注意喽,给的精度太高,你的程序会成为死循环.如果出现死循环的情况,可以用+键退出程序.


下面是我的程序不知道哪错了


int jc(int n)
{
int a,f;
f=1;
for(a=1;a
1个回答 分类:综合 2014-11-29

问题解答:

我来补答
优化了一下你的主程序
int main()
{
int n;
double a,b,e,s;
int x=1; //增加一个符号变量
s=0;
scanf("%lf %lf",&a,&e); //注意& scanf()函数参数为指针 double对应%lf
for(n=0;;n++) //循环退出条件在循环体内
{
b=pow(a,2*n+1)/jc(2*n+1); //计算当前应加的数
if(
 
 
展开全文阅读
剩余:2000