没有接触过编程的人看到函数这个词,可能会联想到我们数学中类似于:f(x)=ax^2+bx+c 的内容吧。不错,这是数学中的函数,我们C语言中的函数与这个有着异曲同工之妙。今天编程学习网就给大家分享一下如何使用c语言编写一个幂函数
一、分析算法
求正整数的幂,需要把整数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 = pow*n,即pow = 4 * 2 = 8
二、函数实现
使用函数实现,主要考虑两个问题:
1.函数的参数是什么
函数的参数可以从功能考虑,主要是求某个数的多少次方,那参数其实就两个:一个是数值,另一个是多少次幂。在这个例子中,使用double类型表示所求数值,可以求整数或浮点数;使用int表示求整数次幂。
2.函数的返回值是什么
在该例子中,使用函数后肯定会返回一个结果,对于整数是整型,对于浮点数是double型,所以返回值使用return返回double类型。
所有函数声明如下:
double power(double n, int p);
三、代码实现
#include<stdio.h> double power(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 pow; }
运行结果:
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://www.phpxs.com/post/9693/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料