float mypow(float a,int n) //递归求法
{
if (n==1)
return a;
return a*mypow(a,n-1);
}
楼主提供的函数本身是有错误的地方
#include
#include
void main()
{
int mypow(a,n);
int a;int n;
scanf("%d%d",&a,&n);
mypow(a,n);
}
int mypow(int a,int n)
{
int i,j=1;
for(i=0;i
j=j*a;
}
printf("%d",j);
}
特此提供修改后及补充后的源程序,望采纳
float mypow(float a, int n) {
int i = 0 ;
float s = 1 ;
for(i = 0 ;i < n ;i++){
s*=a ;
}
return s ;
}
float mypow(float a,int n)
{
float ret = 1;
while(n>0)
{
ret *= a;
n -- ;
}
return ret;
}
float mypow(float a,int n)
{
for(;n>0;n--)
{
a*=a;
}
return a;
}