wwfl.net
当前位置:首页 >> 递归函数求x的n次方 >>

递归函数求x的n次方

#include<stdio.h>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=%lg\n",x,n,f(x,n)); getch(); return 0;}

#include<stdio.h> 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(

#include float cm(float x,int n) { if(n==1) return x; else return x*cm(x,n-1); } void main() { int n; float x; scanf("%d",&n);//n; scanf("%f",&x);//x; printf("x的%d次方是:%f",n,cm(x,n)); }

#include float rpow(float x, int n) { if(n>0) return x*rpow(x,n-1); else if(n==0) return 1; else return rpow(x,n+1)/x; } int main() { float c,m; int b; printf("请输入一个数和所要求得次方数:\n"); scanf("%f %d",&c,&b); m=rpow(c,b); printf("%f",m); }

double fun(double x,int n) { if(n==1)return x; else return x*fun(x,--n) }

#include<stdio.h> int xn(int x,int n){ if(n==1) return x; return x*xn(x,n-1); } void main() { int x,n; scanf("%d %d",&x,&n); printf("%d",xn(x,n)); }

main()中scanf(%f%d",&x,&n); printf("%f",m); 你先把格式改好再试试

if(n==1) return 1; 你可以改成n == 0 或者改成 return x 取其中一种就可以了

给你个高速的 二分递归 注意了只是一个函数 你需要加个main来运行 int powerx(int x,int n) { if (n==1) return x; else if (n==0) return 1; else return (powerx(x,n/2),powerx(x,(n/2+n%2))); }

#include"stdio.h" double fun(double x,int n) { if(n==0) return 1; else return x*fun(x,n-1); } main() { int n; double x; printf("输入x和n:"); scanf("%lf%d",&x,&n); printf("%lf\n",fun(x,n)); }

网站首页 | 网站地图
All rights reserved Powered by www.wwfl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com