您的位置:首页 > 职场人生

剑指offer 面试题11

2018-03-03 22:42 204 查看
                     面试11:数值的整数次方题目:实现函数double power(double base,int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题。首先这个题虽然简单,但是有很多小细节,比如base等于0,或者exponent小于0这些情况都是需要好好考虑考虑的。解题思路很简单,主要是一些小细节。base为0的情况
exponent小于0.
Base为0时,浮点数怎么和0比较。
我的代码如下:#include<stdio.h> bool Equal(double num1,double num2){    if(num1-num2>0.00001 && num1-num2<0.00001)    {       return true;    }    else    {       return false;    }} double Power(double base,int exponent){    //int flag=1;    double result=1.0;    if(Equal(base,0) && exponent < 0)    {       return 1;    }    else if(exponent<0)    {       exponent=exponent-2*exponent;       for(int i=1; i<=exponent; i++)        {           result=result*base;        }       result=1/result;       return result;    }    else if(exponent>0)    {        for(int i=1; i<=exponent; i++)        {            result=result*base;        }        return result;    }} int main(){    double a=Power(2,2);    printf("%f\n",a);    double b=Power(2.5,3);    printf("%f\n",b);    double c=Power(4.6,-2);    printf("%f\n",c);}执行结果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: