#include<stdio.h>
int fun(int x, int n)
{
int y;
if (n<0)
y=1/(fun(x,n-1)*x);
else if(n=0)
y=1;
else
{y=x*fun(x,n-1);}
return (y);
}
main()
{
int a,b,c;
printf("input x and n:");
scanf("%d %d",&a,&b);
c=fun(a,b);
printf("x^n=%d\n",c);
}
想问下为什么输入后没什么反应?
C 用递归函数求x的n次方
两个错误:1、按算法n小于0时,y=1\/(fun(x,n+1)*x);2、第二个条件应该为else if(n==0)如果是n=0,则成赋值表达式,该表达式为0即假,因此陷入死循环。
C语言 用递归方法求X的n次方
int power(int x,int n){ if(n==0)return 1;elseif(n%2==1)return x*power(x,n-1);else{ int y=power(x,n\/2);return y*y;} } int main(){ int a,b,c;printf("enter x and n:");setvbuf(stdout,NULL,_IONBF,0);scanf("%d%d",&a,&b);c=power(a,b);printf("结果...
利用递归调用,求解X的N次方
#include< stdio.h >double power(double x, int n){ if( n <= 0 ) return 1; return power(x, n - 1) * x;}main(){ double x; int n; scanf("%lf%d", &x, &n); \/\/输入x,n printf("%lf\\n", power(x, n)); \/\/输出x^n的结果} 本回答由网友推荐 举报| 答案纠错 | 评论 0 ...
C语言 利用递归函数求X的n次方程序填空
long power(x ,n)int x, n;{ long y;if(n>0)y = x * power(x, n-1);else y = 1;return y;}
编程计算X的n次方。要求:用递归函数,用TC编译
double pow(double x,int n){ if(n==1){ return x;} else { double temp=pow(x,n-1);return (x*temp);} } void main(){ double a;int b;printf("Please input two numbers:");scanf("%lf%d",&a,&b);printf("%lf^%d=%lf\\n",a,b,pow(a,b));} 这个代码是对的。
调试,用递归函数计算X的N次方
void main(){ double x, root;int n;printf("Input x,n:");scanf("%lf%d",&x,&n);root=fun(n,x);printf("Root=%.2f\\n",root);} \/*调试时设置断点*\/ double fun(int n,double x){ if(n==0) \/\/这里改了 return 1;else return x*fun(n-1,x);} ...
请编写一个递归函数计算X的n次幂,并在main中调用
\/\/ 递归函数计算x的n次幂,这里都是用的int,因此计算范围只能限制在int类型的取值范围下 \/\/ 如果需要计算更大的值,需要将类型修改为float int mypow(int x, int n){ if (n <= 0) return 1;else return x * mypow(x, n - 1);} int main(){ printf("2^32 = %d\\n", mypow(2,...
写一递归函数求x的n次方
double f(double x,int n){if(n==0)return 1;else if(n>0)return x*f(x,n-1);else return f(x,n+1)\/x;} int main(){double x;int n;scanf("%lf%dc",&x,&n);if(x==0){ if(n!=0)printf("%lg^%d=0\\n",x,n);else printf("error!");} else printf("%lg^%d=...
C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言...
\/*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 ...
c语言 用迭代 求x的n次方
^ (n \/ 2) ^ 2) (n为偶数)b^n = b * b ^ (n - 1) (n为奇数)给你函数,传入m,n,返回m的n次方 int fun(m, n){ if(n == 0)return 1;if(n%2==0)return pow(fun(m, n\/2), 2);else return m*fun(n-1);} (-_-!这种东西竟然不让用递归?!典型的递归啊 ...