首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++程序哪错了?多谢

2012-03-24 
C++程序哪错了???谢谢程序要求如下:编写递归函数getpower计算x^y,intgetPower(int想,int y)//整型形式,当

C++程序哪错了???谢谢
程序要求如下:
编写递归函数getpower计算x^y,
intgetPower(int想,int y); //整型形式,当y<0,返回0;

我变得程序如下:

  #include<iostream.h>
  #include<math.h>
 
  int getPower(int x,int y)
{
if(y<0)
return 0; //当改为return 1;时答案正确,但是与题目要求不合。

else
return x*getPower(x,y-1);

}

int main()
{
int a,b;
int n;
cout<<"请输入两个数a,b:";
cin>>a>>b;
n=getPower(a,b);
cout<<"x^y="<<n<<endl;
return 0;

}
程序运行为请输入两个数a,b:2 2
 
  x^y=0


[解决办法]
#include<iostream>
#include<cmath> 
using namespace std;
int getPower(int x,int y)
{
if(y<1) //这里要改为if(y<1) 
return 1; //改为return 1
else
return x*getPower(x,y-1);

}
int main()
{
int a,b;
int n;
cout<<"请输入两个数a,b:";
cin>>a>>b;
n=getPower(a,b);
cout<<"x^y="<<n<<endl;
return 0;
}

[解决办法]
[code=C/C++][/code]
#include "iostream"
#include "math.h"
using namespace std;

int sum = 1;
int getPower(int x,int y)
{
if (y < 0)
return 0;
if (y == 0)
return sum;
else
return sum * x * getPower(x, y - 1);
}

int main()
{
int a,b;
int n;
cout << "请输入两个数a,b:";
cin >> a >> b;
n = getPower(a,b);
cout << "x^y = " << n << endl;
return 0;

}


楼主,看看这符合你要求不?!

热点排行