今天我自己写了个程序,这个程序的作用是这样的,
按下述递归定义编写一个计算幂级数的递归函数,
当n=0时x的n次方根等于0,
当n>0时,x的n次方等于x乘以X的(n-1)次方根。
题目就是这样,以下这是我自己写的,但可能有错误希望大家指证,且改进,谢谢啊
float pro(int n,int x)
{
float f,p=1;
if(n<0)
{
printf("n<0,dataerror!");
}
if(x<0)
{
printf("n<0,dataerror!");
else if(n==0) f=1;
for(n;n--;n>=1)
p=p*x;
f=pro(p)*x;
return(f);
}main()
{
int m,q;
float y;
printf("Please enter a number of m\n");
scanf("%d",&m);
printf("Please enter a number of q\n");
scanf("%d",&q);
y=pro(m,q);
printf("x^n=%f",y);
}
请大家批评改正,谢谢。
还有请教我下在电脑上x的n次方根怎么表示,和这么输入是这样吗x^n
按下述递归定义编写一个计算幂级数的递归函数,
当n=0时x的n次方根等于0,
当n>0时,x的n次方等于x乘以X的(n-1)次方根。
题目就是这样,以下这是我自己写的,但可能有错误希望大家指证,且改进,谢谢啊
float pro(int n,int x)
{
float f,p=1;
if(n<0)
{
printf("n<0,dataerror!");
}
if(x<0)
{
printf("n<0,dataerror!");
else if(n==0) f=1;
for(n;n--;n>=1)
p=p*x;
f=pro(p)*x;
return(f);
}main()
{
int m,q;
float y;
printf("Please enter a number of m\n");
scanf("%d",&m);
printf("Please enter a number of q\n");
scanf("%d",&q);
y=pro(m,q);
printf("x^n=%f",y);
}
请大家批评改正,谢谢。
还有请教我下在电脑上x的n次方根怎么表示,和这么输入是这样吗x^n
解决方案 »
- 求助:跨进双击systreeview32的节点,高手请入[测试成功立付]
- 如何在其它进程中弹出自己的窗口
- 请问:下面的构造函数到底怎么匹配?
- 有关数据库的创建
- 我想知到在win类中的create() 和Initdialog()的分别是什么,越细越好。
- win2k advanced server 下面,音频和视频播放时,声音和画面非常快。
- '在35个数里面选8个数,把所有的选择打印输出' 大家帮忙看看
- 合适的inf文件
- 如何在静态链接的dll进行反调试(保护调用它的程序)
- 高手请,为何在不同地方打开对话框会有不同的结果呢?
- 单文档程序,使用CSplitterWnd 分割窗体后,如何 对子窗体 重绘 ?
- FilterASFWriter被编译时出现如下错误,改如何解决?
float pro(int n, int x)
{
if (n <= 0)
return 1;
if (x <= 0)
return 1; return pro(n - 1, x);
}
{
if (n <= 0)
return 1;
else if (n == 1)
return x; if (x <= 0)
return 1;
else if (x == 1)
return 1; return x * pro(n - 1, x);
}如果满足退出条件,则结束递归。