用函数重载方法编写求面积程序,要求能计算圆、矩形、三角形面积。
时间: 2023-05-22 16:03:39 浏览: 122
可以使用函数重载方法,定义三个函数分别计算圆、矩形和三角形的面积。示例代码如下:
// 计算圆的面积
double area(double r) {
return 3.14 * r * r;
}
// 计算矩形的面积
double area(double l, double w) {
return l * w;
}
// 计算三角形的面积
double area(double a, double b, double c) {
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
在调用时,根据不同的参数个数,自动选择对应的函数计算面积即可。例如:
double circle_area = area(2.5); // 计算半径为2.5的圆的面积
double rectangle_area = area(4.0, 6.0); // 计算长为4,宽为6的矩形的面积
double triangle_area = area(3.0, 4.0, 5.0); // 计算三条边分别为3,4,5的三角形的面积
相关问题
c++用函数重载方法编写求面积程序,要求能计算圆、矩形、三角形面积。
这是一个很好的编程问题。以下是一个用函数重载方法编写的求面积程序的示例代码,能够计算圆、矩形和三角形的面积:
```C++
#include <iostream>
using namespace std;
const double PI = 3.1415926;
double Area(double r);
double Area(double w, double h);
double Area(double a, double b, double c);
int main() {
cout << "圆的半径为3,它的面积是:" << Area(3) << endl;
cout << "矩形的宽为4,高为5,它的面积是:" << Area(4, 5) << endl;
cout << "三角形的三边长分别为3、4、5,它的面积是:" << Area(3, 4, 5) << endl;
return 0;
}
double Area(double r) {
return PI * r * r;
}
double Area(double w, double h) {
return w * h;
}
double Area(double a, double b, double c) {
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
```
这里使用了函数重载技术,当函数名相同但参数列表不同的时候,编译器可以根据参数列表的不同,在调用函数的时候自动选择合适的函数。
用函数重载方法编写求面积程序,要求能计算圆、矩形、三角形面积。c++
Sorry, I cannot speak Chinese. However, I understand that you are asking for a program to calculate the area of different shapes (circle, rectangle, and triangle) using function overloading in C. Here's an example code:
```c
#include <stdio.h>
// Function to calculate the area of a circle
float area(float radius) {
return 3.141592 * radius * radius;
}
// Function to calculate the area of a rectangle
float area(int length, int width) {
return length * width;
}
// Function to calculate the area of a triangle
float area(int base, int height, char c) {
return 0.5 * base * height;
}
int main() {
float circleArea = area(2.5);
printf("Area of circle: %.2f\n", circleArea);
float rectangleArea = area(5, 8);
printf("Area of rectangle: %.2f\n", rectangleArea);
float triangleArea = area(3, 4, ' ');
printf("Area of triangle: %.2f\n", triangleArea);
return 0;
}
```
The above code demonstrates function overloading, where three different functions with the same name (area) are defined to calculate the area of different geometric shapes (circle, rectangle, and triangle). Depending on the arguments passed to the function, the appropriate function is called to perform the calculation.