【题目描述】
编写递归函数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;
}
结果: