编写一个函数,用循环的方法实现返回一个float 类型数的某个整数次幂
更多资料请点击:我的目录
循环方法:
#include <stdio.h>
float my_power(float a,int b)
{
int sum1 = 1;
float sum2 = 1.0;
if( b > 0 )
{
for( int i = 0; i < b; i++ )
{
sum1 *= a;
}
return sum1;
}
else if( b == 0)
return 1;
else
{
for( int i = 0; i < -b ; i++)
{
sum2 *= (float)1.00 / a;
}
return sum2;
}
}
int main()
{
int N;
float a,sum;
scanf("%f %d", &a, &N);
sum = my_power(a,N);
printf("%f\n",sum);
return 0;
}
求幂函数:
float my_power(float a,int b)
{
int sum1 = 1;
float sum2 = 1.0;
if( b > 0 )
{
for( int i = 0; i < b; i++ )
{
sum1 *= a;
}
return sum1;
}
else if( b == 0)
return 1;
else
{
for( int i = 0; i < -b ; i++)
{
sum2 *= (float)1.00 / a;
}
return sum2;
}
}
递归函数方法:
#include <stdio.h>
float my_power(float n, int N);
int main()
{
float x,sum;
int N;
printf("请输入一个底数x及其幂指数N,求其N次方值:");
scanf("%f %d", &x, &N);
sum = my_power(x,N);
printf("结果 : sum == %f\n",sum);
return 0;
}
float my_power(float n, int N)
{
if( N > 0)
{
return my_power(n, N -1)*n;
}
else if( N < 0)
{
return my_power(n, N + 1)*(1 / n);
}
else if(N == 0)
return 1;
}
更多资料请点击:我的目录