C语言 只取4位有效数字

f(x)=sinx/x,是一个调用函数,在计算时, 只取4位有效数字或7位有效数字。
如double f(double x)
{
if(x==0)
return 1;//sin(0)/0在计算集中是负无穷大的,只能定义为1
else
return(sin(x)/x);//在这里修改你的被积函数

}
现在要求调用F(X)时候。只能调用4位。如果答案是0.954765556的话只能给我返回0.9548.是532.11456只能返回532.1.。不是输出,是调用返回函数值

sin(x)/x 数值范围 在 +1 到 -1 之间。

取小数4位:
y=sin(x)/x;
y = (double) ((int) (y * 10000.0)) / 10000.0;

如果取有效数字,你可以用y的绝对值判断数值范围:
if (fabs(y) >= 0.1) y = (double) ((int) (y * 10000.0)) / 10000.0;
else if (fabs(y) >= 0.01 && fabs(y) < 0.1)
y = (double) ((int) (y * 100000.0)) / 100000.0;
else if .....
温馨提示:答案为网友推荐,仅供参考
相似回答