题解 | #求解立方根#

求解立方根

https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define min(x,y)?x:y
int main() {
    double num;
    scanf("%lf",&num);
    double numabs=fabs(num);//取输入值的绝对值,简化后续比较。
    double dValue=numabs;
    double minCubeRoot=numabs;
    for(int i=0;i<30;i++)
    {
        double cubeRoot=0+0.1*i;
        double tmp=cubeRoot*cubeRoot*cubeRoot;
        if(tmp==numabs)
        {
            printf("%1.1lf",(cubeRoot*(num/numabs)));
        }
        else if(dValue>fabs(numabs-tmp))//当差值的绝对值最小时,即为立方根
        {
            minCubeRoot=cubeRoot;
            dValue=numabs-tmp;            
        }
    }
    printf("%1.1lf",(minCubeRoot*(num/numabs)));
}

全部评论

相关推荐

11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务