首页 > 试题广场 >

在第6章“C控制语句:循环”的程序清单6.20中,函数pow

[问答题]

在第6章“C控制语句:循环”的程序清单6.20中,函数power()的功能是返回一个double类型数的某个正整数次幂。现在改进该函数,使其能正确地计算负幂。同时,用该函数实现0的任何次幂为0,并且任何数值的0次幂为l。使用循环的方法编写该函数并在一个程序中测试它。

推荐
#include<stdio.h>
double power(double , int );
int main(void)
{
 double x;
 int exp;
 printf("input the base number and the exponent:");
 scanf("%lf%d",&x,&exp);
 printf("%.3g to the power %d is %.5g\n", x, exp, power(x,exp));
 return 0;
}
double power(double n, int p)
{
 int i;
 double pow=1;
 if (p>0)
 for(i=1;i<=p;i++)
 pow *= n;
 else if(p<0)
 for(i=-1;i>=p;i--)
 pow /= n;
 else if(n != 0)
 pow = 1;
 else pow = 1 / n; //0的0次幂无意义,所以用1/0这个无意义数(1.#INF)代替
 return pow;
}

发表于 2018-05-05 21:44:13 回复(0)