C++用递归函数求x的y次方

#include<iostream>usingnamespacestd;GetPower(intx,inty){if(y==1)return1;intg;if(x>1&&... #include <iostream>
using namespace std;
GetPower(int x, int y)
{if(y==1)
return 1;
int g;
if(x>1&&y>1)
return (GetPower(x,y-1)*x);
}
int main()
{int a,b;
cin>>a>>b;
cout<<GetPower(a,b)<<endl;}

哪里错了?
展开
 我来答
fish算法
推荐于2017-09-03 · 专注编程和算法一两年
fish算法
采纳数:30 获赞数:44

向TA提问 私信TA
展开全部
float exponentiation(float x,int y)
{
if(y==1)
{
return x;
}

if(y==-1)
{
return 1/x;
}

return y>0?x*exponentiation(x,y-1):(1/x)*exponentiation(x,y+1);
}
liu_binq63
推荐于2017-09-09 · TA获得超过1485个赞
知道大有可为答主
回答量:1881
采纳率:0%
帮助的人:2278万
展开全部
这样修改:
#include <iostream>
using namespace std;
GetPower(int x, int y)
{if(y==1)
return x;
int g;
if(x>1&&y>1)
return (GetPower(x,y-1)*x);
}
int main()
{int a,b;
cin>>a>>b;
cout<<GetPower(a,b)<<endl;}

应该就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楠公小白L
2006-12-09 · TA获得超过525个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:413万
展开全部
递归函数必须保证所有可能的路径都有明确的return。
int GetPower(int x, int y){
if (x==0)
return 0;
if(y==0)
return 1;
return (GetPower(x,y-1)*x);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6e017157
2006-12-10 · TA获得超过1046个赞
知道大有可为答主
回答量:2218
采纳率:50%
帮助的人:1252万
展开全部
这个程序应该是没有多大问题的啊!
如果有的话,就多调试几次,看看会不会和x,y的输入会变化呢?
当然return x肯定是他打错了!头文件加上应该就可以了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ea853925e
2006-12-09 · TA获得超过636个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:634万
展开全部
return 1; 换成return x;OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式