#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;
}
本回答被网友采纳编程计算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));} 这个代码是对的。
C语言 用递归方法求X的n次方
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(a...
c语言循环结构求X的N次方
include "stdio.h"void main(){...\/\/在main函数里引用下面的函数}\/\/循环求X的N次方的函数double power(double x, int n){ double val=1.0; \/\/(初始化返回值)while(n--) \/\/(循环N次,N次方)val=val*x; \/\/(每次乘以X,相当于乘以1次方)return(val); \/\/(返回结果)...
写一个函数,计算x的n次方
void main(){ int x,n,i,y=1;scanf("%d%d",&x,&n);for(i=0;i<n;i++){ y=y*x;} printf("y=%d",y);}
设计一递归函数计算x的n次方。
因为没说明x是否是整形. 所以就以浮点型写了个. 你参考下.如果需要整形的话将类型改下就可以了.#include< stdio.h >double power(double x,int y){ if(y==0) return 1.0;return power(x,y-1)*x;}int main(){ int y;double x;scanf( "%lf%d", &x, &y );printf( "%.2lf\\n...
调试,用递归函数计算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次方
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 ...
C 用递归函数求x的n次方
两个错误:1、按算法n小于0时,y=1\/(fun(x,n+1)*x);2、第二个条件应该为else if(n==0)如果是n=0,则成赋值表达式,该表达式为0即假,因此陷入死循环。
C语言 利用递归函数求X的n次方程序填空
include "math.h"main(){ int a, b;long power(), t;printf("输入两个整数:");scanf("%d, %d", &a, &b);t = power(a, b);printf("%d ^ %d = %1d", a, b, t);} long power(x ,n)int x, n;{ long y;if(n>0)y = x * power(x, n-1);else y = 1;return...