【题目描述】
编写递归函数getPower计算x的y次方,在同一个程序中针对整型和实型实现两个重载的函数(当y<0时,返回0):
int getPower(int x, int y); //整型版本
double getPower(double x, int y); //实型版本
在主程序中实现输入输出,分别输入一个整数a和一个实数b作为底数,再输入一个整数m作为指数,输出a的m次方和b的m次方。
【输入格式】
输入包含一系列的a、b和m对,通过空格隔开。一对a、b和m占一行。
【输出格式】
对于输入的每对a、b和m,你需要依次输出a的m次方和b的m次方,二者各占一行。
【输入样例】
2 5 5
2 1 4
【输入样例】
32
3125
16
1
#include <iostream>
using namespace std;
int getPower(int x, int y)
{
if (y < 0)
{
return 0;
}
else if(y == 0)
{
return 1;
}
else
{
return x * getPower(x, y - 1);
}
}
double getPower(double x, int y)
{
if (y < 0)
{
return 0;
}
else if (y == 0)
{
return 1;
}
else
{
return x * getPower(x, y - 1);
}
}
int main()
{
int a, m;
double b;
while (cin >> a >> b >> m)
{
cout << getPower(a, m) << endl << getPower(b, m) << endl;
}
return 0;
}
结果: