C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言,不要c++的。 提示

C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言,不要c++的。 提示:例如3∧4=81→①3∧4=3*3∧3,②3∧3=3*3∧2,3∧2=3*3∧1,3∧1=3*3∧0。(当指数等于0时结果为1)。 int power(int x,int n) { }

/*x^n的值必须小于32767,否则输出的就是负数。因为,int只有这么大,正常的pow函数应该是float型或是double型,参数也应是float或是double型。*/

 

#include <stdio.h>

int power(int x,int n)

{

     if (n>1)

     {

         return x*power(x,n-1);

     }

     else

     {

         if (n>0)

             return x;

         else

              return 1;

     }

}

 

void main()

{

      int x,n;

      printf("input x,n:");

      scanf("%d%d",&x,&n);

      printf("%d",power(x,n));

      getch();

      clrscr();

}

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-25
int power(int x , int n)
{
If(n==0)return 1;
Return x*power(x, n-1);
}

第2个回答  2013-04-25
#include<stdio.h>
int main()
{
int pow(int,int);
int a,b;
scanf("%d%d",&a,&b);
printf("%d",pow(a,b));
return 0;
}
//以下是求幂的函数
int pow(int a,int b)
{
if(b==0)
return 1;
else
return a*pow(a,b-1);
}
第3个回答  2013-04-25
if(n==0) return 1;
else
x*power(x,n-1);
相似回答