输入格式:
在一行中依次输入5个数,圆的半径,长方形的高和宽,三角形的高和底,中间用空格分隔
输出格式:
圆的面积,长方形的面积,三角形的面积,小数点后保留2位有效数字,每个面积占一行。
输入样例:
在这里给出一组输入。例如:
3 3 4 3 4
输出样例:
在这里给出相应的输出。例如:
28.27
12.00
6.00
我的答案:
#include"iostream"
using namespace std;
class Shape
{
public:
virtual double area() = 0;
};
class Circle :public Shape
{
public:
double area() { return 3.1415 * r * r; };
Circle(double r) { this->r = r; };
private:double r;
};
class Rectangle :public Shape
{
public:
double area() { return w*h; };
Rectangle(double w, double h) { this->w = w; this->h = h; };
private:double w, h;
};
class Triangle :public Shape
{
public:
double area() { return b * h * 0.5; };
Triangle(double b, double h) { this->b = b; this->h = h; };
private:double b, h;
};
int main()
{
double a, b, c, d, e;
cin >> a >> b >> c >> d >> e;
Circle c1(a); Rectangle c2(b, c); Triangle c3(d, e);
printf("%.2f\n", c1.area());
printf("%.2f\n", c2.area());
printf("%.2f\n", c3.area());
}