#include<iostream>
using namespace std;
int getpower(int x,int y);
double getpower(double x,int y);
int main()
{
int iNumber,power;
double dNumber;
int iAnswer;
double dAnswer;
cout<<"Enter an int base number: ";
cin>>iNumber;
cout<<"Enter a double base number: ";
cin>>dNumber;
cout<<"To what power?";
cin>>power;
iAnswer=getpower(iNumber,power);
dAnswer=getpower(iNumber,power);
cout<<iNumber<<"to the "<<power<<"the power is"<<iAnswer<<endl;
cout<<dNumber<<"to the"<<power<<"the power is"<<dAnswer<<endl;
return 0;
}
int getpower(int x,int y)
{
if(y==1)
return x;
else if(y==0)
return 1;
else if(y<0)
return 0;
else
return (x*getpower(x,y-1));
}
double getpower(double x ,int y)
{
if(y==1)
return x;
else if(y==0)
return 1;
else if(y<0)
return 1/getpower(x,-y);
else
return(x*getpower(x,y-1));
}
该C++代码定义了两个函数getpower,分别用于计算整数和浮点数的幂。这两个函数使用递归方式实现,当幂为1时返回基数,为0时返回1,负数时进行错误处理。在主函数main中,用户输入基数和指数,程序调用getpower函数并输出结果。
783





