如何用C语言正确的求double型数的幂?我用的pow(8.3302E-003,1/3),最后结果为1.请问应该用什么函数正确值应为0.202714653245380,我看网上用的都是double pow (double x ,double y) ,怎么我这个结果就是1呢?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 04:47:20
如何用C语言正确的求double型数的幂?我用的pow(8.3302E-003,1/3),最后结果为1.请问应该用什么函数正确值应为0.202714653245380,我看网上用的都是double pow (double x ,double y) ,怎么我这个结果就是1呢?
如何用C语言正确的求double型数的幂?我用的pow(8.3302E-003,1/3),最后结果为1.请问应该用什么函数
正确值应为0.202714653245380,
我看网上用的都是double pow (double x ,double y) ,怎么我这个结果就是1呢?
如何用C语言正确的求double型数的幂?我用的pow(8.3302E-003,1/3),最后结果为1.请问应该用什么函数正确值应为0.202714653245380,我看网上用的都是double pow (double x ,double y) ,怎么我这个结果就是1呢?
楼主你好~~
改成这样写试试,已经在VC测试,没有问题的.
printf("%.15f\n",pow(8.3302E-003,1.0/3));
这里主要是1/3,1和3都是整型数,所除得到数会默认为整型,这样就会变成8.3302E-003^0,所以答案变成了1.如果要double型数的幂,就必须要让至少其中一个数为浮点型,这样得出的值才会变成浮点型,如我所写的1/3变为1.0/3~~至于那个%.15f,因为楼主你写的正确值为小数点后15位~所以我就让其输出小数点后15位啦~~如果要改的话~请自行改动,若果什么都没有,只有%f,则默认为小数点后6位.
希望楼主能看明白~~望采纳~谢谢~