今天我自己写了个程序,这个程序的作用是这样的,
按下述递归定义编写一个计算幂级数的递归函数,
当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
解决方案 »
- 高分求解 共享内存问题 (vista)
- 奇怪的socket错误,急救!
- 蒋晟 请进~~~~~
- 我想把框架窗口的客户区拆分成1行2列,其中1行1列的pane我想填充一个垂直的toolbar,请高手指点如何实现?
- 有谁知道并口程序怎么写
- 如何将15位色的RGB位图数据转换成24位色啊?
- 求助WinCVS問題(急﹗﹗﹗急﹗﹗﹗急﹗﹗﹗)
- 我在写Tuxedo服务程序时,在VC++环境下编译连接时发生以下错误。
- 你是计算机专业毕业的程序员吗?
- 版内有人使用bcg v22.1的么 关于combobox 自动补全的功能
- VC中创建单文档程序后,添加了对话框,如何在运行程序时先显示对话框,然后再显示单文档界面
- 全局鼠标hook,在游戏中会使得鼠标左右键失效
2. 需要考虑一个特殊情况 0^0float pro(int n,int x)
{
float f,p=1;
if(n <0)
{
printf("n <0,dataerror!");
}
if(x == 0 && n == 0)
{
printf("0^0,dataerror!");
}
else if(n==0) return 1;
else if(n==1) return x;
else return x*pro(n-1,x);
}
建议
1,多写注释
2,练好基础(多看书),你看你的 for ,在去看看书上怎么说的答案参考1楼
而且 干嘛要用循环啊。