C语言中math.c库文件提供了幂函数pow()。但今天我们来简单实现一个幂函数。我们分为几个步骤来实现
一、分析算法
求正整数的幂,需要把整数n相乘,如2的3次幂,即2*2*2,将整数2相乘3次。多个数反复执行相同的操作,自然就会想到使用循环。如何进行循环,看如下代码示例
for(i = 1; i<=p;i++)
pow *= n;
上述示例中,n值表示的是所求的数,pow则是n的p次幂,p为幂。带入数字进行验证,假设n=2,p=3,表示求2的3次幂
第一次循环,pow = pow*n,即pow = 1*2 = 2
第二次循环,pow = pow*n,即pow =2 * 2 = 4
第三次循环,pow = 【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.pow*n,即pow = 4 * 2 = 8
二、函数实现
使用函数实现,主要考虑两个问题:
1.函数的参数是什么
函数的参数可以从功能考虑,主要是求某个数的多少次方,那参数其实就两个:一个是数值,另一个是多少次幂。在这个例子中,使用double类型表示所求数值,可以求整数或浮点数;使用int表示求整数次幂。
2.函数的返回值是什么
在该例子中,使用函数后肯定会返回一个结果,对于整数是整型,对于浮点数是double型,所以返回值使用return返回double类型。
所有函数声明如下:
double power(double n, int p);
三、代码实现
#include<stdio.h> double pow【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.er(double n, int p); int main(void){ double x, xpow; int exp; printf(“请输入数值及整数次方:”); while(scanf(“%lf %d”,&x,&exp) == 2){ xpow = power(x,exp); printf(“%.3g 的 %d 次方是 %.5g\n”,x,exp,xpow); printf(“输入新的数值对,或使用q退出.\n”); } } double power(double n, int p){ double pow = 1; int i; for(i = 1;i<=p;i++){ pow *= n; } return po【我.爱.线.报.网.】52xbw .cn 每日持.续更新.可.实操.的副.业.w; }运行结果:
给力项目:线报网会员可免费下载 加入会员友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:226333560 站长微信:qgzmt2