//利用泰勒公式求sin(x)的值。
#include<stdio.h>
#include<math.h>
#define esp 1e-5
void main()
{
int n;
double x,term,sum=0;
scanf("%f",&x);
term=x;
n=1;
while(fabs(term)>esp)
{
sum+=term;
n+=2;
term=term*(-1*x*x)/n/(n-1);
}
printf("sin(x)=%.20f",sum);
}
看看这个代码运行结果为什么是0
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
honestman_ 2022-10-16 16:12关注先讲点C语言常识。C语言对变量的类型要求很严格。对子程序的返回类型要求也颇多。这就导致如果变量定义,传递有错误,直接返回值为0。
举几个例子。
1,长浮点向整数转换
int a;
double b=0.42586;
a=(int)b;
printf(”a=d%”,a);
输出a=0;
2,强制取整函数INT
float f=0.786;
INT(f)值是0
解决 无用评论 打赏 举报