doublemyPow(double x,int n){if(n ==0){return1;}double result =1.0;for(int i = n; i !=0; i = i /2){if((i%2)!=0){
result *= x;}
x *= x;}return n<0?1.0/result:result;}
完整代码
#include<stdio.h>doublemyPow(double x,int n){if(n ==0){return1;}double result =1.0;for(int i = n; i !=0; i = i /2){if((i%2)!=0){
result *= x;}
x *= x;}return n<0?1.0/result:result;}intmain(){double x =2.0, n =10;printf("%f\n",myPow(x, n));return0;}