求double型的base的int型的j次方是多少?
思路:
1.0的任何次方都为0;
2.任何数的0次方都为1;
3.j大于0,直接计算base的j次方;
4.j小于0,计算结果取base的倒数。
代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int mul(double base, int j)
{
double ret = 1;
if (base == 0)
{
return 0;
}
if (j == 0)
{
return 1;
}
if (j > 0)
{
for (int i = 0; i < j; i++)
{
{
ret = ret * base;
}
}
return ret;
}
else
{
return 1 / ret;
}
}
int main()
{
double i = 0.0;
int j = 0;
scanf("%lf%d", &i, &j);
double ret = mul(i, j);
printf("%lf", ret);
system("pause");
return;
}