若想定义一个求x的n次方的函数,设传给函数的幂次n为整数,则以下四个函数中正确的是( )。

admin2018-03-27  5

问题 若想定义一个求x的n次方的函数,设传给函数的幂次n为整数,则以下四个函数中正确的是(    )。

选项 A、double mypow(double x,int n)
{
int signednum,i;
double mul=1.0:
if(n>=0)signednum=1;
else
{
  signednum=-1;
  n=-n;
  }
  for(i=1;i<=n;i++)
  mu1*=x;
if(signednum==-1)
  mu1=1.0/mu1;
return mu1;
}
B、double mypow(double x,int n)
{
int i;
double mul=1.0:
n=fabs(n);
for(i=1;i<=n;i++)
  mul*=x;
return mul;
}
C、double mypow(double x,int n)
{
  int i;
  double mul=1.0;
  if(n>0)
  {
  for(i=1;i<=n;i++)
    mul*=x;
  }
  else
  {
  for(i=n;i>=0;i--)
    mul*=1.0/x:
  }
  return mul;
}
D、double mypow(double x,int n)
{
int i;
double mul=1.0;
if(n>=0)
{
  for(i=0;i<=n;i++)
    mul*=x;
  }
  else
  {
  for(i=n;i>=0;i--)
    mul*=1.0/x;
  }
  return mul;
}

答案A

解析 求一个数的n次方时,先判断是正次方还是负次方,选项A中,先定义一个标识变量signednum,若为正次方则给该变量赋值为1,若为负次方则给该变量赋值为-1,再利用循环将需要求次方的数进行累乘操作,再通过条件语句判断标识变量signednum,当检测到该标识变量为正时,直接输出累乘后的值,当检测到该标识变量为负时,将累乘结果取倒后输出,本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/LqID777K
0

相关试题推荐
最新回复(0)