用C写一个程序,求一个三角形加一个圆的面积,三角形三边为345圆的半径为2.5用结构体和函数
时间: 2024-09-10 21:24:51 浏览: 56
好的,我们可以先编写一个结构体来存储三角形和圆的信息,然后再分别定义函数来计算它们各自的面积,并在一个主函数中合并这两个结果。以下是对应的C语言程序:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,用于计算半径和面积
// 定义一个结构体表示几何图形
typedef struct {
float side1, side2, side3; // 三角形三边
float radius; // 圆的半径
} Geometry;
// 函数计算三角形面积
float triangle_area(Geometry g) {
float semi_perimeter = (g.side1 + g.side2 + g.side3) / 2; // 半周长
return sqrt(semi_perimeter * (semi_perimeter - g.side3));
}
// 函数计算圆的面积
float circle_area(Geometry g) {
return M_PI * g.radius * g.radius; // π是一个常量,M_PI通常在头文件"math.h"中提供
}
int main() {
Geometry shape = {3.0, 4.0, 5.0, 2.5}; // 初始化三角形和圆的边长和半径
float triangle_result = triangle_area(shape); // 三角形面积
float circle_result = circle_area(shape); // 圆的面积
// 合并两个面积
float total_area = triangle_result + circle_area(shape);
printf("三角形的面积为: %.2f\n", triangle_result);
printf("圆的面积为: %.2f\n", circle_result);
printf("三角形加上圆的总面积为: %.2f\n", total_area);
return 0;
}
```
在这个程序中,我们首先创建了一个`Geometry`结构体,包含了三角形的三边和圆的半径。接着定义了`triangle_area`和`circle_area`函数来计算它们各自的面积。在主函数里,我们将这两个面积相加得到总和。
阅读全文