问题
计算x的n次方的值,其中x和n都是由用户在运行时输入的
解决方案
使用C编程语言中的递归函数生成x的n次方的值的解决方案如下 −
找到x的n次方的逻辑如下所述 −
//Calling function:Xpow=power(x,n);//Called function:if (n==1) return(x);else if ( n%2 == 0) return (pow(power(x,n/2),2)); /*if n is even*/else return (x*power(x, n-1));
登录后复制
算法
参考下面给出的算法,使用递归函数生成x的n次方的值。
步骤1 – 读取长整型变量
步骤2 – 声明函数原型
步骤3 – 调用函数
Xpown=power(x,n) goto step 5
登录后复制
第四步 − 打印 xpown
第五步 − 调用函数
第5.1步 − if (n==1)
第5.1.1步 − return(x)
第5.2步 − Else if (n%2 == 0)
第5.2.1步 − Return (pow(power(x,n/2),2)); /*如果n是偶数*/
第5.3步 − Else
第5.3.1步 − Return (x*power (x, n-1)); /*如果n是奇数*/
程序
以下是使用递归函数生成 x 的 n 次方值的 C 程序 −
#include #include void main(){ long int x, n, xpown; long int power(int x, int n); printf("Enter the values of X and N:"); scanf("%ld %ld", &x, &n); xpown = power (x, n); printf("X to the power N = %ld
",xpown);}/*Recursive function to computer the X to power N*/long int power(int x, int n){ if (n==1) return(x); else if ( n%2 == 0) return (pow(power(x,n/2),2)); /*if n is even*/ else return (x*power(x, n-1)); /* if n is odd*/}
登录后复制
输出
当上述程序被执行时,它产生以下结果 −
Enter the values of X and N:5 4X to the power N = 625
登录后复制
以上就是使用递归函数生成x的n次幂的C程序的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2587575.html