c语言编程中的幂函数如何编写,c语言幂函数_C语言循环与递归实现整数幂函数...

摘要 腾兴网为您分享:C语言循环与递归实现整数幂函数,中国搜索,洋游码头,沃尔玛,玩转地铁等软件知识,以及社工大师,最美证件照软件,保卫卢沟桥,铃声裁剪,鑫银宝,紫马财行,装配式设计软件,实况足球2012一球成名,超级兔子2010,视频面试软件,latex数学公式编辑,百度医生,防抖相机,手机尺子,uformat等软件it资讯,欢迎关注腾兴网。函数power()的功能是返回一个double类型数的某个正整数次幂。现在改进该函数,使其能正确地计算负幂。同时,用该函数实现0的任何次幂为0,并且任何数值的0次幂为1。使用循环的方法...

函数power()的功能是返回一个double类型数的某个正整数次幂。现在改进该函数,使其能正确地计算负幂。同时,用该函数实现0的任何次幂为0,并且任何数值的0次幂为1。使用循环的方法编写该函数并在一个程序中测试它

递归在C 关于递归中讲过了一些知识,但是在写的时候我还是遇到了一些麻烦,而普通的循环却比较好想。

先来看看普通的版本:

 代码如下复制代码
#include

double power(double n, double p);

int main(void)

{

double n, p;

printf("Please input the number you need to power: ");

scanf("%lf", &n);

printf("Please input the number of power:");

scanf("%lf", &p);

printf("The answer is %f", power(n, p));

return 0;

}

double power(double n, double p)

{

int i;

double pow = 1.0;

if (n == 0)

pow = 0;

if (p == 0)

pow = 1;

else if (p < 0)

for (i = 1; i <= -p; i)

pow /= n;

else if(p > 0)

for (i = 1; i <= p; i)

pow *= n;

return pow;

}

然后看看递归是怎么搞的:

 代码如下复制代码
#include

double power(double n, double p);

int main(void)

{

double n, p;

printf("Please input the number you need to power: ");

scanf("%lf", &n);

printf("Please input the number of power:");

scanf("%lf", &p);

printf("The answer is %f", power(n, p));

return 0;

}

double power(double n, double p)

{

if (n == 0)

return 0;

if (p == 0)

return 1;

else if (p > 0)

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

else if (p < 0)

return power(n, p 1) / n ;

}

递归的代码行数更少,看着挺好的,但是思考的时候就感觉略有压力了,再次之前,我没有写过递归的函数,因为不会,这次努力的想了一下,发现递归是从根部开始思考的,因为是一个个函数排下去的,所以其实是从p==0开始运行的。return 1,然后一直运算到*n截止,这样思考就能得出答案了。

相关推荐

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值