计算一个数的幂(简单)
- C/C++ code
#include<stdio.h>double power(double n,int p);int main(void){ double x,xpow; int exp; printf("Enter:\n"); while(scanf("%lf%d",&x,&exp)==2) { xpow=power(x,exp); printf("%.3g to he power %d is %.5g",x,exp,xpow); } printf("bye!\n"); return 0;}double power(double n,int p){ double pow; int i; if(n=0) pow=0; else if(p>0) { for(i=1;i<=p;i++) pow*=n; } else if(p=0) pow=1; else if(p<0) pow*=(1/n); return pow;}
运行结果不正确,代码哪错了呀?
讨厌用那么多的 else if,其他有什么好方法吗?
[解决办法]
- C/C++ code
else if(p<0) { for(i=1;i<=-p;i++) pow*=n; pow = 1/pow ; }