C语言编程,求a的n次方,请大家帮忙补充我的程序 救命啊

#include<stdio.h>
#include<math.h>
float mypow(float a,int n)
void main()
{
float a;int n;
scanf("%f%d",&a,&n);
printf("%f\n",mypow(a,n));
}
float mypow(float a,int n)
{

}
帮忙补充了这个子函数 谢了

第1个回答  推荐于2017-09-14
float mypow(float a,int n)   //递归求法
{
    if (n==1)
        return a;
    return a*mypow(a,n-1);
}

追问

function 'float __cdecl mypow(float ,int )' already has a body 出现这个错误

追答#include<stdio.h>
#include<math.h>               //这个头文件多余
float mypow(float a,int n);    //加分号
void main()
{
float a;int n;
scanf("%f%d",&a,&n);
printf("%f\n",mypow(a,n));
}


float mypow(float a,int n)   //递归求法
{
    if (n==1)
        return a;
    return a*mypow(a,n-1);
}

本回答被提问者采纳
第2个回答  2013-05-27
楼主提供的函数本身是有错误的地方
#include<stdio.h>
#include<math.h>
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<n;i++)
{
j=j*a;
}
printf("%d",j);
}
特此提供修改后及补充后的源程序,望采纳
第3个回答  2013-05-27
float mypow(float a, int n) {
int i = 0 ;

float s = 1 ;

for(i = 0 ;i < n ;i++){
s*=a ;

}

return s ;

}追问

function 'float __cdecl mypow(float ,int )' already has a body出现这个错误怎么破

第4个回答  2013-05-27
float mypow(float a,int n)
{
  float ret = 1;
  while(n>0)
  {
    ret *= a;
    n -- ;
  }
  return ret;
}

追问

function 'float __cdecl mypow(float ,int )' already has a body出现这个怎么破

第5个回答  2013-05-27
float mypow(float a,int n)
{
for(;n>0;n--)
{
a*=a;
}
return a;
}追问

function 'float __cdecl mypow(float ,int )' already has a body出现这个错误怎么破

相似回答