编写C++函数,参数为半径或直径,返回圆面积或周长
时间: 2024-03-02 09:50:27 浏览: 165
好的,这里是一个C++实现的例子:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
double calculate_circle(double radius_or_diameter, bool calculate_area=true) {
/*
计算圆的面积或周长
参数:
radius_or_diameter -- 圆的半径或直径
calculate_area -- 是否计算圆的面积,默认为true
返回值:
如果calculate_area为true,返回圆的面积;否则返回圆的周长
*/
if (calculate_area) {
// 计算圆的面积
double radius = radius_or_diameter / 2.0; // 如果输入的是直径,需要先计算出半径
double area = M_PI * pow(radius, 2);
return area;
} else {
// 计算圆的周长
double circumference = M_PI * radius_or_diameter;
return circumference;
}
}
int main() {
// 测试函数
double radius = 3;
double diameter = 8;
double area = calculate_circle(radius, true);
cout << "半径为" << radius << "的圆面积为:" << area << endl;
double circumference = calculate_circle(diameter, false);
cout << "直径为" << diameter << "的圆周长为:" << circumference << endl;
return 0;
}
```
这个函数有两个参数。第一个参数是半径或直径,可以根据需要传入不同的值。第二个参数是一个布尔类型的值,控制函数计算圆的面积或周长。
例如,如果您想计算一个半径为3的圆的面积,可以这样调用函数:
```cpp
double area = calculate_circle(3, true);
cout << "半径为3的圆面积为:" << area << endl;
```
输出结果应该是:
```
半径为3的圆面积为:28.2743
```
这个结果是正确的,因为圆的面积公式是 $A = \pi r^2$,其中 $r$ 是半径,所以这个圆的面积应该是 $\pi \cdot 3^2 \approx 28.27$。
如果您想计算一个直径为8的圆的周长,可以这样调用函数:
```cpp
double circumference = calculate_circle(8, false);
cout << "直径为8的圆周长为:" << circumference << endl;
```
输出结果应该是:
```
直径为8的圆周长为:25.1327
```
这个结果也是正确的,因为圆的周长公式是 $C = 2\pi r$,其中 $r$ 是半径,所以这个圆的周长应该是 $2\pi \cdot 4 \approx 25.13$。
阅读全文